Cod sursa(job #3337731)

Utilizator Err0rSome Error Err0r Data 29 ianuarie 2026 17:42:51
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <climits>
#include <algorithm>
#include <cstring>
using namespace std;

ifstream cin("energii.in");
ofstream cout("energii.out");

// declaring outside main for zeros
int d[5010];

int main()
{
   /// declaring
  int e[1001],c[1001],w,g,k;

   ////reading
   cin >> g >>w;
   for (int i=1;i<=g;i++){
      cin >> e[i] >> c[i];
   }

   ////initialze
   for (int i=1;i<=w;i++){
      d[i]=10010;
   }

   //algorithm
   for (int i=1;i<=g;i++){
      for (int j=w-1;j>=0;j--){
        if (d[j]!=-1){
         k=j+e[i];
         if(k>w){
           k=w;
         }
         if (d[k]>c[i]+d[j]){
            d[k]=c[i]+d[j];
         }
        }
      }
   }

   //outputting
   if (d[w]==10010){
      cout << -1;
   }
   else
   cout << d[w];
}

   //test
  /**/