Pagini recente » Cod sursa (job #874838) | Cod sursa (job #1830664) | Cod sursa (job #1672882) | Cod sursa (job #792512) | Cod sursa (job #3348900)
#include <bits/stdc++.h>
using namespace std;
#define int long long
struct nigger
{
int cost;
int nr;
};
nigger v[100001];
bool cmp(nigger a,nigger b)
{
if(a.cost==b.cost)
{
return a.nr<b.nr;
}
return a.cost<b.cost;
}
int dp[100001];
signed main()
{
ifstream cin("energii.in");
ofstream cout("energii.out");
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>v[i].cost>>v[i].nr;
}
sort(v+1,v+n+1,cmp);
for(int i=1;i<=5005;i++)
{
dp[i]=INT_MAX;
}
for(int i=1;i<=n;i++)
{
for(int j=k-v[i].nr;j>=1;j--)
{
dp[v[i].nr+j]=min(dp[v[i].nr+j],dp[j]+v[i].cost);
}
dp[v[i].nr]=v[i].cost;
}
int minim=INT_MAX;
int ras=0;
for(int i=k;i<=5005;i++)
{
if(minim>dp[i])
{
minim=dp[i];
ras=i;
}
}
cout<<ras;
return 0;
}