Pagini recente » Cod sursa (job #1994413) | Cod sursa (job #1190263) | Cod sursa (job #485026) | Cod sursa (job #779950) | Cod sursa (job #1253088)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int oo=1<<30;
const int GMAX=1005;
const int WMAX=10005;
int g,w,a[GMAX],b[GMAX];
int dp[WMAX];
int main()
{
int i,j;
fin>>g>>w;
for (i=1;i<=g;i++) fin>>a[i]>>b[i];
for (i=0;i<WMAX;i++) dp[i]=oo;
for (i=1;i<=a[1];i++) dp[i]=b[1];
for (i=2;i<=g;i++)
{
for (j=WMAX-1;j>a[i];j--)
dp[j]=min(dp[j-a[i]]+b[i],dp[j]);
for (j=a[i];j>=1;j--) dp[j]=min(dp[j],min(dp[j+1],b[i]));
}
if (dp[w]==oo) fout<<"-1\n";
else fout<<dp[w]<<"\n";
return 0;
}