Pagini recente » Cod sursa (job #1405421) | Cod sursa (job #1866354) | Cod sursa (job #2480584) | Cod sursa (job #2402137) | Cod sursa (job #1671919)
#include<cstdio>
#include<algorithm>
using namespace std;
int suma[5010],n,i,j,w,sm=0,cant,cost;
FILE *in,*out;
int main ()
{
in=fopen("energii.in","r");
out=fopen("energii.out","w");
fscanf(in,"%d%d",&n,&w);
for(i=1;i<=n;i++)
{
fscanf(in,"%d %d",&cant,&cost);
for(j=w-cant;j>=0;j--)
if(suma[j]>0 && (suma[j+cant]==0 || suma[j+cant]>suma[j]+cost))
suma[j+cant]=suma[j]+cost;
for(j=cant;j>=0;j--)
if(suma[j]==0 || suma[j]>cost)
suma[j]=cost;
}
if(suma[w]==0)
suma[w]=-1;
fprintf(out,"%d",suma[w]);
return 0;
}