Cod sursa(job #1053333)

Utilizator stefanlaculeanuLaculeanu Stefan stefanlaculeanu Data 12 decembrie 2013 17:56:54
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;

bool prim (int x)
{
    int d=2;
    if(x<2)
        return false;
    if((x==2)||(x==3))
        return true;
    while(d*d<=x)
    {
        if(x%d==0)
        {
            return false;
        }
        d++;
    }
    return true;
}

int main()
{
    ifstream in("bileprime.in");
    ofstream out("bileprime.out");
    int n,a,b,x,i;
    in>>n;
    in>>a;
    in>>b;
    for(i=0;i<n;i++)
    {
        in>>x;
        if(prim(x))
        {
            if(a>=x)
            {
                a-=x;
                b+=x;
            }
        }
        else
        {
            if(b>=x)
            {
                a+=x;
                b-=x;
            }
        }
    }
    out<<a;
    in.close();
    out.close();
    return 0;
}