Cod sursa(job #1635667)

Utilizator sandupetrascoPetrasco Sandu sandupetrasco Data 6 martie 2016 19:28:44
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <algorithm>
using namespace std;
int D[2][5003], E[1010], C[1010],G ,W,sum;
bool u=0;
ifstream cin("energii.in");
ofstream cout("energii.out");
int main(){
    cin >> G >> W;
    for (int i = 1; i <= G; i++){ 
        cin >> E[i] >> C[i];
        sum += E[i];
        }
for (int i = 1; i <= G; i++,u = !u) 
    for (int j = 1; j <= W; j++){
        D[u][j] = D[!u][j];
        if(j >= E[i]){
        D[u][j] = max(D[!u][j],D[!u][j-E[i]]+C[i]);
        }
        }
    if(sum < W) cout << -1;
           else cout<<D[!u][W];
return 0;
}