Pagini recente » Cod sursa (job #2713492) | Cod sursa (job #32022) | Cod sursa (job #208455) | Cod sursa (job #2574316) | Cod sursa (job #459319)
Cod sursa(job #459319)
#include<fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int P[5001],C[1001],E[1001];
int i,j,maxim=0;
int W,G;
int main ()
{
in>>G;
in>>W;
for(i=0;i<G;i++)
in>>E[i]>>C[i];
P[0]=1;
for(i=0;i<G;i++)
{
for(j=maxim;j>=0;j--)
if(P[j]&&j+E[i]<=W)
{
if(P[j+E[i]]==0||P[j+E[i]]>P[i]+C[i])
P[j+E[i]] = P[j]+C[i];
if(j+E[i]>maxim)
maxim=j+E[i];
}
}
if(P[W])
out<<P[W]-1<<'\n';
else
out<<"-1\n";
return 0;
}