Cod sursa(job #1090863)
| Utilizator | Data | 23 ianuarie 2014 10:20:32 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream is("energii.in");
ofstream os("energii.out");
int n, G, val[10001], g[10001], c[10001][10001];
int main()
{
is >> n >> G;
for ( int i = 1; i <= n; i++ )
is >> val[i] >> g[i];
for ( int i = 1; i <= n; ++i )
for ( int j = 0; j <= G; ++j )
{
c[i][j] = c[i-1][j];
if ( j >= val[i] & c[i][j] < c[i-1][j - val[i]] + g[i] )
{
c[i][j] = c[i-1][j - val[i]] + g[i];
}
}
os << c[n][G];
}
