Nu aveti permisiuni pentru a descarca fisierul grader_test18.in
Cod sursa(job #2716145)
Utilizator | Data | 4 martie 2021 19:17:58 | |
---|---|---|---|
Problema | Energii | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
const int INF = 1e9;
struct object{
int val, wt;
} v[1001];
int n, W;
int minCost(int n, int W){
int dp[W + 1];
dp[0] = 0;
for(int i = 1;i <= W;i++)
dp[i] = INF;
for(int i = 1;i <= W;i++)
for(int j = 1;j <= n;j++)
if(v[j].wt <= i) dp[i] = min(dp[i], dp[i - v[j].wt] + v[j].val);
if(dp[W] == INF)
return -1;
return dp[W];
}
int main(){
f >> n >> W;
for(int i = 1;i <= n;i++)
f >> v[i].wt >> v[i].val;
g << minCost(n, W);
}