Pagini recente » Cod sursa (job #2421639) | Cod sursa (job #783730) | Cod sursa (job #1392544) | Cod sursa (job #2318628) | Cod sursa (job #2205043)
#include <fstream>
#include <algorithm>
using namespace std;
int const NM = 16007 , INF = (1 << 30);
char const in [] = "energii.in";
char const out [] = "energii.out";
ifstream cin (in);
ofstream cout (out);
int dp [NM] , sol = (1 << 30);
int main()
{
int n , i , j , a , b , k , from = 0;
cin >> n >> k;
fill (dp + 1, dp + NM + 1 , INF);
for(i = 1 ; i <= n ; ++ i)
{
cin >> a >> b;
for(j = from ; j >= 1 ; -- j)
if(dp [j] != INF)
dp [j + a] = min (dp [j + a] , dp [j] + b);
from = min (k , from + a);
dp [a] = min (dp [a] , b);
}
for(i = k ; i <= NM ; ++ i)
sol = min (sol , dp [i]);
cout << sol << '\n';
return 0;
}