Pagini recente » Cod sursa (job #2003964) | Cod sursa (job #2016022) | Cod sursa (job #880814) | Cod sursa (job #229741) | Cod sursa (job #1736141)
#include <cstdio>
#include <iostream>
using namespace std;
const int nmx = 1002;
const int smx = 10002;
const int inf = 0x3f3f3f3f;
int generators,min_watts;
int energy[nmx],cost[nmx];
int dp[smx];
void input()
{
scanf("%d", &generators);
scanf("%d", &min_watts);
for(int i = 1; i <= generators; ++i)
scanf("%d %d", &energy[i], &cost[i]);
}
void set_dp()
{
for(int i = 0; i < smx; ++i)
dp[i] = inf;
}
void dynamic()
{
dp[0] = 0;
for(int i = 1; i <= generators; ++i)
for(int j = smx - 1; j >= energy[i]; --j)
dp[j] = min(dp[j],dp[j-energy[i]] + cost[i]);
}
void output()
{
int minim = inf;
for(int j = min_watts; j < smx - 1; ++j)
minim = min(minim,dp[j]);
printf("%d\n", minim);
}
int main()
{
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
input();
set_dp();
dynamic();
output();
return 0;
}