Pagini recente » Cod sursa (job #1671038) | Cod sursa (job #1336507) | Cod sursa (job #1329706) | Cod sursa (job #892755) | Cod sursa (job #2021239)
#include <stdio.h>
using namespace std;
int v[5003];
int main(){
FILE *in, *out;
in = fopen("energii.in", "r");
out = fopen("energii.out", "w");
int g, w;
fscanf(in, "%d%d", &g, &w);
for(int i=1; i<=g; i++){
int pro, cost;
fscanf(in, "%d%d", &pro, &cost);
for(int j=5002; j>=pro; j--){
if(v[j-pro]!=0){
if(cost<v[j-pro] && 2*pro==j){
v[j]=v[j-pro]+cost;
v[j-pro]=cost;
}
else{
v[j]=v[j-pro]+cost;
}
}
if(j-pro==0){
if(v[j]>cost || v[j]==0){
v[j]=cost;
}
}
}
}
bool tru=true;
for(int i=w; i<5002 && tru; i++){
if(v[i]!=0){
fprintf(out, "%d", v[i]);
tru=false;
}
}
if(tru)
fprintf(out, "%d", -1);
return 0;
}