Cod sursa(job #1827267)

Utilizator AlleeexCristina.Gn Alleeex Data 11 decembrie 2016 18:02:47
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,w,i,c[5001],val,Min=100000001;
struct data{
    int e,c;
}x[1001];
int main(){
   fin>>n>>w;
   for (i=1;i<=n;i++)
     fin>>x[i].e>>x[i].c;
   fin.close();
   for (i=1;i<=w;i++)
     c[i]=Min;
   for (i=1;i<=n;i++){
      val=w;
      while(val>=0){
         if (val>=x[i].e){
            if (c[val]>c[val-x[i].e]+x[i].c) c[val]=c[val-x[i].e]+x[i].c;
         }
           else
             if (c[val]>x[i].c) c[val]=x[i].c;
         val--;
      }
   }
   if (c[w]==100000001) fout<<"-1";
     else
        fout<<c[w];
   fout.close();
   return 0;
}