Cod sursa(job #2082140)

Utilizator VarticeanNicolae Varticean Varticean Data 5 decembrie 2017 19:07:06
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int n,g[1005],c[1005], dp[10005], W;
int main()
{
     in >> n >> W;

    for( int i=1; i<=n; i++)
          in >> g[i] >> c[i];
    for(int i=1; i<=n; i++)
     for(int j=W; j>0; j--)
     if( g[i]<=j)
     {
          dp[j] = max(dp[j], dp[j-g[i]]+c[i]);
     }
     for(int i=1; i<=W; i++)
          if( dp[i] >= W ) return out << dp[i],0;

    return out << -1, 0;
}