Pagini recente » Cod sursa (job #2427065) | Cod sursa (job #1800022) | Cod sursa (job #1653692) | Cod sursa (job #1250062) | Cod sursa (job #1743282)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
#define lim 1005
int g,maxm;
int en[lim],c[lim];
int a[lim][5005];
int i,j;
long long s;
int main()
{
fin>>g>>maxm;
for(i=1; i<=g; i++)
fin>>en[i]>>c[i], s+=en[i];
if(s<maxm)
{
fout<<"-1";
return 0;
}
for(i=0; i<=maxm; i++)
a[0][i]=200000000;
for(i=1; i<=g; i++)
for(j=1; j<=maxm; j++)
{
if(j<en[i])
a[i][j]=min(a[i-1][j] , c[i]);
else
a[i][j]=min(a[i-1][j] , a[i-1][j-en[i]]+c[i]);
}
fout<<a[g][maxm];
fin.close();
fout.close();
return 0;
}