Pagini recente » Cod sursa (job #3273158) | Cod sursa (job #2687206) | Cod sursa (job #1224648) | Cod sursa (job #889377) | Cod sursa (job #712478)
Cod sursa(job #712478)
#include <fstream>
#define WMAx 5100
#define min(a,b) ((a)<(b)?(a):(b))
using namespace std;
int N,W,Sol,A[2*WMAx];
int main() {
int i,j,energie,cost;
ifstream in("energii.in");
ofstream out("energii.out");
in>>N>>W;
for(i=1,A[0]=1;i<=N;i++) {
in>>energie>>cost;
for(j=WMAx;j>=0;j--)
if(A[j])
if(!A[j+energie]||A[j+energie]>A[j]+cost)
A[j+energie]=A[j]+cost;
}
for(i=W,Sol=2*WMAx;i<2*WMAx;i++)
if(A[i])
Sol=min(Sol,A[i]);
if(Sol==2*WMAx)
Sol=0;
out<<(Sol-1)<<'\n';
in.close();
out.close();
return 0;
}