Pagini recente » Cod sursa (job #916744) | Cod sursa (job #628784) | Cod sursa (job #153257) | Cod sursa (job #651796) | Cod sursa (job #1372920)
#include <fstream>
#include <iostream>
#include <algorithm>
#include <cstring>
#define NRR 11000
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int G,W,EG[1005],CG[1005],D[1005][10005];
int energii()
{
int i,j;
for(j=1;j<=EG[1];j++)
D[1][j]=CG[1];
for(i=2;i<=G;i++)
for(j=1;j<=W;j++)
if(j-EG[i]==0)
D[i][j]=min(D[i-1][j],CG[i]);
else
D[i][j]=min(D[i-1][j],D[i-1][j-EG[i]]+CG[i]);
if(D[G][W]==NRR)
return -1;
return D[G][W];
}
int main()
{
int i,j;
fin>>G>>W;
for(i=1;i<=G;i++)
fin>>EG[i]>>CG[i];
for(i=0;i<=G;i++)
for(j=0;j<=W;j++)
D[i][j]=NRR;
fout<<energii();
fin.close();
fout.close();
}