Pagini recente » Cod sursa (job #1149669) | Cod sursa (job #1129161) | Cod sursa (job #2932497) | Cod sursa (job #2859283) | Cod sursa (job #2512015)
#include <bits/stdc++.h>
#define WMAX 5000
#define LIMIT 99999999
using namespace std;
ifstream f ("energii.in");
ofstream g ("energii.out");
short G , W , e , c;
int rucsac[WMAX + 5];
int main()
{
short i , j;
f >> G;
f >> W;
fill(rucsac + 1 , rucsac + WMAX + 1 , -1);
int ans = LIMIT;
for(i = 1 ; i <= G ; i++)
{
f >> e >> c;
for(j = WMAX ; j >= 0 ; j--)
{
if(rucsac[j] != -1)
{
if(j + c >= W)
ans = min(ans , rucsac[j] + c);
if(rucsac[j + c] == -1 || rucsac[j + c] > rucsac[j] + e)
rucsac[j + c] = rucsac[j] + e;
}
}
}
if(ans == LIMIT)
g << -1;
else g << ans;
return 0;
}