Pagini recente » Cod sursa (job #3136279) | Cod sursa (job #1803653) | Cod sursa (job #994889)
Cod sursa(job #994889)
#include <cstdio>
#include <algorithm>
using namespace std;
int i, g, W, cc, energy[1001], cost[1001], cost_temp[20001], MIN=0x3f3f3f3f;
bool format[20001];
int main()
{
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
scanf("%d %d", &g, &W);
for(i=1; i<=g; ++i)
scanf("%d %d", &energy[i], &cost[i]);
format[0]=1;
for(i=1; i<=g; ++i)
for(cc=W; cc>=0; --cc)
if( format[cc] ) // se pot avea cc W
{
format[ cc + energy[i] ]=1; // deci putem forma cc + energia curenta W
cost_temp[ cc + energy[i] ] = cost_temp[cc] + cost[i]; // costul energiei va fi costul energiei curente + costul energiei vechi
if(cc+energy[i]>=W && cost_temp[ cc + energy[i] ] < MIN)
MIN=cost_temp[ cc + energy[i] ];
}
printf("%d\n", MIN);
return 0;
}