Cod sursa(job #2353813)

Utilizator musalaulMusu Miprian musalaul Data 24 februarie 2019 16:52:37
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<bits/stdc++.h>
using namespace std;

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

int G,W,E[1005],C[1005],EC[1005][10005],l=0;

int main(){
    fin >> G >> W;

    for(int i=1;i<=G;++i)
        fin >> E[i] >> C[i];

    for(int i=1;i<=G;++i){

        if(i>1){
            int j;
            for(j=l;j<=l+E[i];++j)
                EC[i][j]=C[i]+EC[i-1][j-E[i]];
            l=j;
        }

        for(int j=1;j<=E[i];++j)
            if(i==1)
                EC[i][j]=C[i],++l;
            else{
                if(EC[i-1][j]==0)
                    EC[i][j]=C[i];
                else
                    EC[i][j]=min(EC[i-1][j],C[i]);
            }

    }

    fout << EC[G][W];
    return 0;
}