Cod sursa(job #2124602)

Utilizator maria15Maria Dinca maria15 Data 7 februarie 2018 13:31:28
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#define e first
#define c second

using namespace std;

int d[1000*10000+1], j, cost, maxim;
pair<short, short> gen[1002];
short g, w, i;

ifstream fin("energii.in");
ofstream fout("energii.out");

int main(){
    fin>>g>>w;
    for(i=1;i<=g;i++){
        fin>>gen[i].e>>gen[i].c;
    }

    for(i=1;i<=g;i++)
        for(j=w;j>=0;j--)
            if((d[j]>0 || j == 0)/** && (d[j+gen[i].e] > d[j] + gen[i].c || d[j+gen[i].e] == 0)*/){
                ///d[j+gen[i].e] = d[j] + gen[i].c;
                if(j+gen[i].e >= w && (d[j] + gen[i].c < cost || cost == 0))
                    cost = d[j+gen[i].e];
            }
    if(cost)
        fout<<cost;
    else
        fout<<-1;
    return 0;
}