Cod sursa(job #223318)
| Utilizator | Data | 28 noiembrie 2008 10:31:39 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
struct centrala {int e,c;} g[1002];
int n,w,C[1002][5002];
int main()
{
f>>n>>w;
for(int i=1;i<=n;i++)
f>>g[i].e>>g[i].c;
for(int i=1;i<=n;i++)
for(int j=1;j<=w;j++)
if((g[i].e<j)&&(g[i].c+C[i-1][j-g[i].e]>C[i-1][j]))
C[i][j]=g[i].c+C[i-1][j-g[i].e];
else
C[i][j]=C[i-1][j];
if(c[n][w]<w) g<<"-1";
else g<<c[n][w];
return 0;
}
