Cod sursa(job #1172276)

Utilizator andreey_047Andrei Maxim andreey_047 Data 17 aprilie 2014 10:28:10
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
int p[1007],c[5007],d[1007][1007],n,g;
int main(){
    int i,j,sum;
    ifstream fin("energii.in");
    ofstream fout("energii.out");
    fin>>n>>g;
    for(i=1;i<=n;i++)
     fin >>p[i]>>c[i];
    for(i=1;i<=g;i++) d[0][i]=999999;
     for(i=1;i<=n;i++)
      for(j=1;j<=g;j++)
       {
              d[i][j]=d[i-1][j];
              sum=d[i][j];
              if(d[i-1][j-p[i]]+c[i] < d[i][j])
                sum=sum-p[i-1]+p[i];
              d[i][j] = min(d[i][j],d[i-1][j-p[i]]+c[i]);
       }

    if(d[n][g] == 999999) fout<<"-1\n";
    else
     fout <<d[n][g]<<"\n";
     fin.close();
     fout.close();
    return 0;
}