Cod sursa(job #1662895)
Utilizator | Data | 25 martie 2016 11:28:33 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int inf,n,g,x,y,i,j,v[5001];
#define inf 2000000
int main()
{
fin>>n>>g;
for (i=1;i<=g;i++)
v[i]=inf;
for(i=1;i<=n;i++)
{
fin>>x>>y;
for(j=g;j>=0;j--)
if(j<=x)
v[j]=min(v[j],y);
else
v[j]=min(v[j],v[j-x]+y);
}
if (v[g]!=inf)
fout<<v[g];
else
fout<<"-1";
fin.close();
fout.close();
return 0;
}