Cod sursa(job #703453)
Utilizator | Data | 2 martie 2012 12:29:51 | |
---|---|---|---|
Problema | Energii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<fstream>
using namespace std;
int sol[1001];
int main()
{
ifstream f("energii.in");
ofstream g("energii.out");
int n,i,j,maxim=0,G,cost,cantitate;
f>>n;
f>>G;
for(i=1; i<=n; i++)
{
f>>cantitate; f>>cost;
for(j=maxim; j>=0; j--)
if(cantitate+j<=G)
sol[cantitate+j]=max(sol[cantitate+j],cost+j);
maxim=min(maxim+cantitate, G);
}
maxim=0;
for(i=1; i<=G; i++)
if(maxim<sol[i])
maxim=sol[i];
g<<maxim;
}