Cod sursa(job #1413797)

Utilizator valentin50517Vozian Valentin valentin50517 Data 2 aprilie 2015 09:05:50
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <algorithm>
#define mult (1<<30)
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

int G,W,E[1002],C[1002],dp[2][5004];
bool u = false;
int main(){
fin >> G >> W;
for(int i = 0;i<G;i++){
        fin >> E[i] >> C[i];        
}
for(int i = 0;i<2;i++)
        for(int j = 0;j<=W;j++) dp[i][j] = mult;

for(int i = 0;i<G;i++)
        for(int j = 1;j<=W;j++){
                if(E[i] <= j) dp[u][j] = min(dp[!u][j],C[i]);else{
                        dp[u][j] = min(dp[!u][j-E[i]]+C[i],dp[!u][j]);                       
                }
                u = !u;
        }
fout << dp[!u][W];
    return 0;    
}