Pagini recente » Cod sursa (job #2566731) | Cod sursa (job #2302125) | Cod sursa (job #2794819) | Cod sursa (job #1655433) | Cod sursa (job #1283622)
#include<iostream>
using namespace std;
int greu[1002],pierd[1002],castig[10011003],i,n,s=999999999,cautat,smax,j;
#include<stdio.h>
FILE *f,*g;
int main()
{
f=fopen("energii.in","r");
g=fopen("energii.out","w");
fscanf(f,"%d%d",&n,&cautat);
for(i=1;i<=n;i++)
{
fscanf(f,"%d%d",&greu[i],&pierd[i]);
smax=smax+greu[i];
}
for(i=1;i<=smax;i++)
castig[i]=999999999;
for(i=1;i<=n;i++)
{for(j=smax-greu[i];j>=0;j--)
if(castig[j+greu[i]]>castig[j]+pierd[i])
{
castig[j+greu[i]]=castig[j]+pierd[i];
if(castig[j+greu[i]]<s)
s=castig[j+greu[i]];
}
}
if(castig[cautat]>=8)
fprintf(g,"%d",castig[cautat]);
else
fprintf(g,"-1");
}