Pagini recente » Cod sursa (job #2851397) | Cod sursa (job #1318806) | Cod sursa (job #56372) | Cod sursa (job #1864390) | Cod sursa (job #1777813)
#include <fstream>
#define e first
#define p second
using namespace std;
short int G, W, i, j;
int P[10001], sol, lim;
pair <int, int> v[1001];
ifstream fin("energii.in");
ofstream fout("energii.out");
int main(){
fin>>G>>W;
for(i=1;i<=G;i++)
fin>>v[i].e>>v[i].p;
for(i=1;i<=10000;i++)
P[i]=50000100;
P[0]=0;
sol=50000100;
lim=W;
for(i=1;i<=G;i++)
for(j=lim;j>=0;j--)
if(P[j]!=50000100){
P[j+v[i].e] = min(P[j]+v[i].p, P[j+v[i].e]);
if(j+v[i].e>=W) {
if(j+v[i].e>lim)
lim=j+v[i].e;
if(sol>P[j+v[i].e])
sol=P[j+v[i].e];
}
}
fout<<sol;
return 0;
}