Cod sursa(job #2394573)

Utilizator divianegoescuDivia Negoescu divianegoescu Data 1 aprilie 2019 18:38:55
Problema Energii Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#define e first
#define c second
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int i,j,W,G,total,maxi,sol,sc,D[10000001];
pair<int,int> v[1001];
int main(){
    fin>>G>>W;
    for(i=1;i<=G;i++){
        fin>>v[i].e>>v[i].c;
        total+=v[i].e;
    }
    for(i=1;i<=total;i++)D[i]=-1;
    for(i=1;i<=G;i++)
        for(j=W;j>=0;j--){
            sc=j+v[i].e;
            if(D[j]!=-1){
                if(sc>=W)sc=W;
                if(D[sc]==-1)D[sc]=D[j]+v[i].c;
                else D[sc]=min(D[sc],D[j]+v[i].c);
            }
        }
    fout<<D[W];
    return 0;
}