Cod sursa(job #2244076)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 22 septembrie 2018 01:32:33
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <cmath>
#include <limits.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int v[20000],c[20000],e[20000],maxx,solutie,sum,n,i,j;
int main()
{
   fin>>n>>sum;
   for(i=1;i<=n;i++)
   {
      fin>>e[i]>>c[i];
      if(v[e[i]]==0||c[i]<v[e[i]])
       v[e[i]]=c[i];
       maxx=max(maxx,e[i]);
   }
   for(i=1;i<=n;i++)
   {
       for(j=1;j<sum;j++)
       {
           if(v[e[j]]!=0&&j!=e[i])
           {
               v[j+e[i]]=min(v[j+e[i]],v[e[j]]+c[i]);
           }
       }
   }
   solutie=INT_MAX;
   for(i=n;i<=sum+maxx+2;i++)
   {
       if(v[i]!=0)
       solutie=min(solutie,v[i]);
   }
   fout<<solutie;
}