Pagini recente » Cod sursa (job #3209784) | Cod sursa (job #3181013) | Cod sursa (job #430538) | Cod sursa (job #1048306) | Cod sursa (job #849157)
Cod sursa(job #849157)
#include <fstream>
using namespace std;
int max(int a,int b)
{
if(a>b)return a;
return b;
}
short int m[1000010];
short int g[1010];
int main()
{
ifstream fin("jocul.in");
ofstream fout("jocul.out");
int n,i,j,suma=0,jumatate;
fin>>n;
for(i=0;i<n;i++)
{
fin>>g[i];
suma+=g[i];
}
jumatate=suma/2;
for(i=g[0];i<=jumatate;i++)
m[i]=g[0];
for(i=0;i<n;i++)
for(j=jumatate;j>=0;j--)
{
if(j-g[i]>=0)
{
m[j]=max(m[j],m[j-g[i]]+g[i]);
}
}
fout<<m[jumatate]<<' '<<suma-m[jumatate]<<endl;
fin.close();
fout.close();
return 0;
}