Pagini recente » Cod sursa (job #155317) | Cod sursa (job #273431) | Cod sursa (job #3126572) | Cod sursa (job #1661053) | Cod sursa (job #34656)
Cod sursa(job #34656)
#include <cstdio>
#include <algorithm>
using namespace std;
int dp[1001][5001];
int n, S;
int cost[1001], s[1001];
void citire()
{
freopen("energii.in", "r", stdin);
scanf("%d\n", &n);
scanf("%d\n", &S);
for(int i=1;i<=n;i++)scanf("%d %d\n", &s[i], &cost[i]);
}
void dynamic()
{
int i, j;
dp[1][s[1]]=cost[1];
for(i=1;i<=n;i++)
for(j=S;j;j--)
{
dp[i][j]=min(dp[i-1][j], dp[i-1][j-s[i]]);
if(dp[i][j]==dp[i-1][j-s[i]]) dp[i][j]+=cost[i];
}
printf("%d\n", dp[n][S]);
}
int main()
{
citire();
freopen("energii.out", "w", stdout);
dynamic();
return 0;
}