Question: Lowe's India , Online Assessment | Alternating Prime | NIT Jamshedpur | Full-Time-Employment | 7th August 2023
1
Entering edit mode

ADD COMMENTlink 15 months ago Delta 2.9k
0
Entering edit mode
#includeusing namespace std; bool isPrime(int n) { // Corner case if (n <= 1) return false; // Check from 2 to square root of n for (int i = 2; i <= sqrt(n); i++) if (n % i == 0) return false; return true; } int main() { int n; cin>>n; vectornp; vectorp; int tsum=0; for(int i=0;i>io; bool flag=isPrime(io); if(flag) { p.push_back(io); } else { np.push_back(io); } tsum+=io; } int ans=0; if(p.size()==0) { sort(np.begin(), np.end(), greater()); ans=np[0]; cout<()); ans=p[0]; cout<()); sort(p.begin(), p.end(), greater()); if(p.size()==np.size()) { cout<<"0\n"; } else if(p.size()>np.size()) { for(int i=0;i
ADD COMMENTlink 15 months ago DANISHERROR • 0
0
Entering edit mode

#include<bits/stdc++.h>
using namespace std;
bool isPrime(int n)
{
    // Corner case
    if (n <= 1)
        return false;
 
    // Check from 2 to square root of n
    for (int i = 2; i <= sqrt(n); i++)
        if (n % i == 0)
            return false;
 
    return true;
}
int main()
{
    int n;
    cin>>n;
    vector<int>np;
    vector<int>p;
    int tsum=0;
    for(int i=0;i<n;i++)
    {
        int io;
        cin>>io;
        bool flag=isPrime(io);
        if(flag)
        {
            p.push_back(io);
        }
        else
        {
            np.push_back(io);
        }
        tsum+=io;
    }
    int ans=0;
    
    if(p.size()==0)
    {
        sort(np.begin(), np.end(), greater<int>());
        ans=np[0];
        cout<<tsum-ans;
    }
    else if(np.size()==0)
    {
        sort(p.begin(), p.end(), greater<int>());
        ans=p[0];
        cout<<tsum-ans;
    }
    else
    {
        sort(np.begin(), np.end(), greater<int>());
        sort(p.begin(), p.end(), greater<int>());
        if(p.size()==np.size())
        {
            cout<<"0\n";
        }
        else if(p.size()>np.size())
        {
            for(int i=0;i<np.size();i++)
            {
                ans=ans+np[i];
            }
            for(int i=0;i<=np.size();i++)
            {
                ans=ans+p[i];
            }
            tsum=tsum-ans;
            cout<<tsum;
        }
        else
        {
            for(int i=0;i<p.size();i++)
            {
                ans=ans+p[i];
            }
            for(int i=0;i<=p.size();i++)
            {
                ans=ans+np[i];
            }
            tsum=tsum-ans;
            cout<<tsum;
        }
        
    }
    
    
}

ADD COMMENTlink 15 months ago DANISHERROR • 0

Login before adding your answer.

Similar Posts
Loading Similar Posts