Pagini recente » Cod sursa (job #454592) | Cod sursa (job #787541) | Cod sursa (job #1634726) | Cod sursa (job #2855223) | Cod sursa (job #1840915)
#include <iostream>
#include <fstream>
#define N 1011
#define W 5011
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int const oo=200000000;
int val[N],i,j,n,m,G,k,a[N][W],cost[W];
int main()
{
f>>n>>G;
for(i=1;i<=n;i++)
f>>val[i]>>cost[i];
for(i=1;i<=n;i++)
for(j=1;j<=G;j++)
a[i][j]=oo;
for(i=1;i<=val[1];i++)
a[1][i]=cost[1];
for(i=2;i<=n;i++)
{
for(j=1;j<=G;j++)
{
a[i][j]=a[i-1][j];
if(val[i]<j)
a[i][j]=min(a[i-1][j],a[i-1][j-val[i]]+cost[i]);
else
a[i][j]=min(a[i-1][j],cost[i]);
}
}
if(a[n][G]==oo)
g<<-1;
else
g<<a[n][G];
}