Pagini recente » Cod sursa (job #3208913) | Cod sursa (job #262054) | Cod sursa (job #2436065) | Cod sursa (job #1089434) | Cod sursa (job #1990195)
#include <bits/stdc++.h>
#define INF (int)2e9
#define Nmax 10001
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int a[2][Nmax];
int e[Nmax];
int c[Nmax];
int main()
{
int G,n,i,j;
f>>n>>G;
for(i=1;i<=n;i++)
f>>e[i]>>c[i];
bool cur=0,curr=1;
for(i=1;i<=G+12000;i++)
a[0][i]=INF;
for(i=1;i<=n;i++)
{
cur^=1;
curr^=1;
for(j=1;j<=G+12000;j++)
{
a[cur][j]=a[curr][j];
if(j-e[i]<0) continue;
a[cur][j]=min(a[cur][j],a[curr][j-e[i]]+c[i]);
}
}
int minn=INF;
for(i=G;i<=G+12000;i++)
if(a[cur][i]<minn) minn=a[cur][i];
if(minn==INF) g<<-1;
else g<<minn;
return 0;
}