Cod sursa(job #973038)
| Utilizator | Data | 13 iulie 2013 11:06:04 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include<stdio.h>
using namespace std;
int i,j,n, eg[1001], cg[1001], v[5001]={0},cmin=-1;
int main() {
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
int g, w;
scanf("%d %d", &g, &w);
for (i = 1; i <= g; i++) {
scanf("%d %d", &eg[i], &cg[i]);
}
for( i = 1; i <= g; i++)
for( j = w - eg[i]; j >= 0; j--) {
if( v[j+eg[i]] < v[j] + cg[i] )
{
v[j+eg[i]] = v[j] + cg[i];
if( v[j+eg[i]] > cmin)
cmin = v[j+eg[i]];
}
}
printf("%d", cmin);
return 0;
}
