Cod sursa(job #2498924)

Utilizator sygAndreiIonitaIonita Andrei sygAndreiIonita Data 24 noiembrie 2019 20:16:18
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;

const int mare=2e9;

int v[1000001];

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

int main()
{
    int n,m,e,c;
    in>>n>>m;
    for (int i=1;i<=m;i++)
        v[i]=mare;
    v[0]=0;
    for (int i=1;i<=n;i++)
    {
      in>>e>>c;
      for (int j=m;j>=0;j--)
      {
        if (v[j]!=mare&&j+e<=m)
          v[j+e]=min(v[j]+c,v[j+e]);
        else if (v[j]!=mare&&j+e>m)
            v[m]=min(v[m],v[j]+c);
      }
    }
    if (v[m]==mare)
        out<<-1;
    else
        out<<v[m];
    return 0;
}