Pagini recente » Borderou de evaluare (job #158570) | Cod sursa (job #2165255) | Borderou de evaluare (job #1878107) | Borderou de evaluare (job #78832) | Cod sursa (job #2518962)
#include <bits/stdc++.h>
#define inf 10000000
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,g;
pair<int,int> v[1005];
long long dp[15005];
int main()
{
ios_base::sync_with_stdio(false);
fin.tie(0);
fout.tie(0);
fin>>n>>g;
for(int i=1;i<=n;i++)
fin>>v[i].first>>v[i].second;
for(int i=1;i<=15000;i++)
dp[i]=inf;
dp[0]=0;
for(int i=1;i<=n;i++)
for(int j=0;j<=15000;j++)
{
if(dp[j]!=inf)
if(j+v[i].first<=15000)
dp[j+v[i].first]=min(dp[j+v[i].first],dp[j]+v[i].second);
}
int ans=inf;
for(int i=g;i<=15000;i++)
if(dp[i]<ans)
ans=dp[i];
if(ans==inf)
fout<<-1;
else
fout<<ans;
return 0;
}