Pagini recente » Cod sursa (job #1911991) | Cod sursa (job #2861574) | Istoria paginii runda/iconcurs9 | Monitorul de evaluare | Cod sursa (job #2023478)
#include <stdio.h>
using namespace std;
struct obiect{
int pro, con;
};
obiect c[1002];
int sume[50002];
int main()
{
FILE *in, *out;
in = fopen("energii.in", "r");
out = fopen("energii.out", "w");
obiect ob;
int g, w;
fscanf(in, "%d%d", &g, &w);
for(int i=0; i<g; i++){
fscanf(in, "%d%d", &ob.pro, &ob.con);
c[i]=ob;
}
for(int i=0; i<g; i++){
for(int j=50001; j>=c[i].pro; j--){
if((sume[j-c[i].pro]!=0 || j-c[i].pro==0) && (sume[j-c[i].pro]+c[i].con<sume[j] || sume[j]==0))
sume[j]=sume[j-c[i].pro]+c[i].con;
}
}
int mini=1000000;
for(int i=w; i<=50001; i++){
if(sume[i]!=0 && sume[i]<mini){
mini=sume[i];
}
}
fprintf(out, "%d", mini);
return 0;
}