Pagini recente » Cod sursa (job #2216849) | Cod sursa (job #1668337) | Cod sursa (job #1038337) | Cod sursa (job #379643) | Cod sursa (job #1253362)
#include <fstream>
#include <iostream>
#include <string.h>
using namespace std;
const int MAXG = 1005;
const int MAXW = 5005;
int g, w, dp[MAXG][MAXW], e[MAXG], c[MAXG];
int main() {
ifstream fin("energii.in");
ofstream fout("energii.out");
fin >> g >> w;
for(int i = 1 ; i <= g ; ++ i) {
fin >> e[i] >> c[i];
}
memset(dp, 0x3f, sizeof(dp));
for(int i = 1 ; i <= g ; ++ i) {
for(int j = 1 ; j <= w ; ++ j) {
if(j >= e[i]) {
dp[i][j] = min(dp[i - 1][j], dp[i - 1][j - e[i]] + c[i]);
} else
dp[i][j] = min(dp[i - 1][j], c[i]);
}
}
fout << "DA\n";
if(dp[g][w] == 0x3f3f3f3f)
fout << "-1\n";
else
fout << dp[g][w] << '\n';
}