Pagini recente » Cod sursa (job #151955) | Cod sursa (job #2267083) | Cod sursa (job #1510290) | Cod sursa (job #111729) | Cod sursa (job #2124602)
#include <fstream>
#define e first
#define c second
using namespace std;
int d[1000*10000+1], j, cost, maxim;
pair<short, short> gen[1002];
short g, w, i;
ifstream fin("energii.in");
ofstream fout("energii.out");
int main(){
fin>>g>>w;
for(i=1;i<=g;i++){
fin>>gen[i].e>>gen[i].c;
}
for(i=1;i<=g;i++)
for(j=w;j>=0;j--)
if((d[j]>0 || j == 0)/** && (d[j+gen[i].e] > d[j] + gen[i].c || d[j+gen[i].e] == 0)*/){
///d[j+gen[i].e] = d[j] + gen[i].c;
if(j+gen[i].e >= w && (d[j] + gen[i].c < cost || cost == 0))
cost = d[j+gen[i].e];
}
if(cost)
fout<<cost;
else
fout<<-1;
return 0;
}