Pagini recente » Cod sursa (job #2038691) | Cod sursa (job #2624144) | Cod sursa (job #1438670) | Cod sursa (job #2957825) | Cod sursa (job #2489525)
#include <bits/stdc++.h>
#define NM 10010
#define oo (1<<30)
#define w first
#define p second
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,gMax,dp[2][NM];
pair<int,int> v[NM/10];
int main()
{ f>>n>>gMax;
for(int i=1; i<=n; i++)
f>>v[i].w>>v[i].p;
for(int i=1; i<NM; i++)
dp[0][i]=oo;
for(int q=1,i=1; i<=n; q=1-q,i++)
for(int j=1; j<NM; j++)
{ dp[q][j]=dp[1-q][j];
if(v[i].w<=j)
dp[q][j]=min(dp[q][j],dp[1-q][j-v[i].w]+v[i].p);
}
int eMin=oo;
for(int i=gMax; i<NM-8; i++)
eMin=min(eMin,dp[1][i]);
g<<(eMin==oo ? -1 : eMin);
return 0;
}