Pagini recente » Borderou de evaluare (job #1565720) | Cod sursa (job #1096637) | Cod sursa (job #1267480) | Cod sursa (job #1273086) | Cod sursa (job #3226000)
#include <fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int n,G,e[1005],c[1005],d[5005],maxi;
int main()
{
cin>>n>>G;
for(int i=1;i<=n;i++)
cin>>e[i]>>c[i];
for(int i=1;i<=G;i++)
d[i]=2e9;
d[0]=0;
for(int i=1;i<=n;i++)
for(int j=G-1;j>=0;j--)
if(d[j]!=2e9)
{
if(j+e[i]>G)
d[G]=min(d[G],d[j]+c[i]);
else
d[j+e[i]]=min(d[j+e[i]],d[j]+c[i]);
}
if(d[G]==2e9)
cout<<-1;
else
cout<<d[G];
return 0;
}