Cod sursa(job #879619)

Utilizator CrescentselectJicol Crescent Crescentselect Data 15 februarie 2013 17:59:14
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<iostream>
#include <fstream>
#include<algorithm>
#include<vector>

using namespace std;

#define N 1009
# define M 500000
ifstream f ("jocul.in");
ofstream g ("jocul.out");

int v[M];
bool viz[M];
int n,s,k,s1,s2,maxim;

void citire()
{
    f>>n;
    for( int i=1;i<=n;i++)
    {
        f>>v[i];
        s+=v[i];
    }
}
void proces()
{
    for( int i=1;i<=n;i++)
    {
        for(int j=s/2;j>0;j--)
        {
            if(viz[j])
            {
                viz[j+v[i]] = true;
            }
        }
        if(v[i] <=s /2)
            viz[v[i]] = true;
    }
    for( int i=1;i<=s/2;i++)
    {
        if(viz[i])
        {
            s1 = i;
        }
    }
    s2 = s - s1;
    g<<s1<<" "<<s2;
}

int main()
{
    citire();
    proces();
    return 0;
}