Pagini recente » Cod sursa (job #2699801) | Cod sursa (job #779407) | Cod sursa (job #3268750) | Cod sursa (job #3249452) | Cod sursa (job #3226179)
#include <bits/stdc++.h>
using namespace std;
#define TITLE "energii"
#define ll long long
#define MaxN 1011
ifstream f (TITLE".in");
ofstream g (TITLE".out");
ll dp[20001];
int v[MaxN];
int solve()
{
int n;
f>>n;
int MaxSum;
f>>MaxSum;
for(int i=0; i<20001; i++)
dp[i]=10001000;
for(int i=1; i<=n; i++)
{
ll G,P;
f>>G>>P;
if(G==0)
continue;
for(int j=MaxSum-1; j>0; j--)
if(dp[j]!=10001000)
dp[j+G]=min(dp[j+G],dp[j]+P);
dp[G]=min(dp[G],P);
}
ll answer=10001000;
for(int i=MaxSum; i<20001; i++)
answer=min(answer,dp[i]);
if(answer==10001000)
g<<-1;
else
g<<answer
;
return 0;
}
int main()
{
solve();
return 0;
}