Pagini recente » Cod sursa (job #2964900) | Cod sursa (job #1852863) | Cod sursa (job #1638133) | Cod sursa (job #1815742) | Cod sursa (job #2550221)
#include <bits/stdc++.h>
using namespace std;
ifstream f("jocul.in");
ofstream g("jocul.out");
int N,L[1000],sum,dp[1000][1000];
int main()
{
f>>N;
for(int i=1; i<=N; i++)
{
f>>L[i];
sum+=L[i];
}
for(int i=1; i<=N; i++)
for(int j=1;j<=sum;j++)
{
if(L[i]<=j)
dp[i][j]=max(dp[i-1][j],dp[i-1][j-L[i]]+L[i]);
else dp[i][j]=dp[i-1][j];
}
g<<min(dp[N][sum/2],sum-dp[N][sum/2])<<" "<<max(dp[N][sum/2],sum-dp[N][sum/2]);
return 0;
}