Cod sursa(job #2550221)

Utilizator RazvanucuPopan Razvan Calin Razvanucu Data 18 februarie 2020 16:36:00
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#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;
}