Cod sursa(job #2410698)

Utilizator CharacterMeCharacter Me CharacterMe Data 20 aprilie 2019 11:36:13
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#define Inf 10000001
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int N, W, i, j, Sol[Inf], Sum;
struct Gen{
    int energy;
    int cost;
};
Gen List[1001];
int main()
{
    fin>>N>>W;
    for(i=1; i<=N; ++i) {fin>>List[i].energy>>List[i].cost; Sum+=List[i].energy;}
    if(Sum<W){fout<<"-1"; return 0;}
    for(i=1; i<=Sum; ++i) Sol[i]=Inf;
    for(i=1; i<=N; ++i)
        for(j=W; j>=0; --j)
            Sol[min(W, j+List[i].energy)]=min(Sol[min(W, j+List[i].energy)], Sol[j]+List[i].cost);
    fout<<Sol[W];
    return 0;
}