Pagini recente » Cod sursa (job #1284758) | Cod sursa (job #2147595) | Cod sursa (job #237043) | Cod sursa (job #2496314) | Cod sursa (job #1020929)
#include <fstream>
#define MAXG 1005
#define MAXW 5005
#define INF 1000000000
#define MAX(a,b) ((a>b)?(a):(b))
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,w,x,y,en[MAXG],cost[MAXG],pd[MAXW];
int main()
{
int i,j;
f>>n>>w;
for(i=1;i<=n;i++)
f>>en[i]>>cost[i];
for(i=1;i<=w;i++)
pd[i]=INF;
for(i=1;i<=n;i++){
x=en[i];
y=cost[i];
for(j=w;j>=1;j--){
if(y+pd[MAX(0,j-x)]<pd[j])
pd[j]=y+pd[MAX(0,j-x)];}}
if(pd[w]==INF)
g<<"-1\n";
g<<pd[w]<<'\n';
f.close();
g.close();
return 0;
}