Pagini recente » Cod sursa (job #2531988) | Cod sursa (job #3241977) | Cod sursa (job #3278293) | Borderou de evaluare (job #2912091) | Cod sursa (job #679278)
Cod sursa(job #679278)
#include<fstream>
#include<algorithm>
using namespace std;
# define WMAX 10010
ifstream f("energii.in");
ofstream g("energii.out");
int Cost[WMAX][WMAX];
int N, G, P[WMAX], C[WMAX];
int main()
{
int i, j;
f >> N >> G;
for(i = 1; i <= N; i++)
f >> P[i] >> C[i];
for(i = 0; i <= N; i++)
for(j = 1; j <= G; j++)
Cost[i][j] = 32000;
for(i = 1; i <= N; i++)
for(j = 1; j <= G; j++)
if( P[i] <= j ){
Cost[i][j] = min(Cost[i - 1][j], Cost[i - 1][j - P[i]] + C[i]);}
else {
Cost[i][j] = min( Cost[i-1][j], C[i] );}
if( Cost[N][G] == 32000 ){
g << "-1";}
else{
g << Cost[N][G];}
f.close();
g.close();
return 0;
}