Pagini recente » Cod sursa (job #3185972) | Cod sursa (job #680820) | Monitorul de evaluare | Cod sursa (job #1673232) | Cod sursa (job #2166749)
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream f("energii.in");
ofstream fout("energii.out");
int i,j,n,g,m[10005],gr[5005],ct[5005];
int main()
{
f>>n>>g;
for(i=1;i<=n;i++)
f>>gr[i]>>ct[i];
for(i=0;i<=g;i++)
m[i]=20000;
for(i=1;i<=n;i++)
for(j=g;j>=0;j--)
if(gr[i]<j)
m[j]=min(m[j],m[j-gr[i]]+ct[i]);
else m[j]=min(m[j],ct[i]);
if(m[g]!=20000)
fout<<m[g];
else fout<<-1;
return 0;
}