Cod sursa(job #881905)
Utilizator | Data | 18 februarie 2013 19:02:02 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.63 kb |
#include<fstream>
using namespace std;
int e[10001],c[10001],v[15001];
int main()
{
ifstream f("energii.in");
ofstream gi("energii.out");
int i,j,g,w,q;
f>>g>>w;
for(i=1;i<=g;i++)
f>>e[i]>>c[i];
for(i=1;i<=15000;i++)
v[i]=1000000000;
v[0]=0;
for(i=1;i<=g;i++)
for(j=w;j>=0;j--)
if(v[j] != 1000000000 && v[j]+c[i] < v[j+e[i]])
v[j+e[i]]=v[j]+c[i];
q=1000000001;
for(i=w;i<=15000;i++)
if(v[i]<q)
q=v[i];
if(q == 1000000000)
gi<<-1<<endl;
else
gi<<q<<endl;
return 0;
}