Pagini recente » Cod sursa (job #107106) | Cod sursa (job #618123) | Cod sursa (job #1538216) | Cod sursa (job #232162) | Cod sursa (job #459322)
Cod sursa(job #459322)
#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])
{
if(maxim<j+E[i])
maxim = j+E[i];
if(P[j+E[i]]==0||P[j+E[i]]>P[j]+C[i])
P[j+E[i]]=P[j]+C[i];
}
}
for(i=W;i<=maxim;i++)
if(P[i])
if(P[W]>P[i])
P[W]=P[i];
if(P[W])
out<<P[W]-1<<'\n';
else
out<<"-1\n";
return 0;
}