Cod sursa(job #612996)

Utilizator badmanDragan Dan badman Data 14 septembrie 2011 12:22:18
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream.h>
#define max 1000000000
ifstream f("energii.in");
ofstream h("energii.out");
int m[1002][5002],EG[1002],CG[1002],i,j,g,w;
int main(){
    f>>g>>w;
        for(i=1;i<=g;i++)
                      f>>EG[i]>>CG[i];
                       
    for(i=0;i<=g;i++)
    for(j=0;j<=w;j++)
    m[i][j]=max;
    for(int i=1;i<=g;i++)     
        for(int j=1;j<=w;j++){
    if(EG[i]<=j)
    if(CG[i]+m[i-1][j-EG[i]]<m[i-1][j])
    m[i][j]=CG[i]+m[i-1][j-EG[i]];
   
else
m[i][j]=m[i-1][j];
else
if(CG[i]<m[i-1][j])
m[i][j]=CG[i];
else
m[i][j]=m[i-1][j];
}
if(m[g][w]==max) h<<"-1";
else h<<m[g][w];
return 0;
}