Cod sursa(job #2289774)

Utilizator YouDontNeedMyNameJurcut Paul YouDontNeedMyName Data 25 noiembrie 2018 11:38:11
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int v[5005],n,c,x,y,ma=85239873;
int main()
{
    in >> n >> c;
    for(int i=1; i<=c; i++)
    {
        v[i]=ma;
    }
    for(int i=1; i<=n; i++)
    {
        in >> x >> y;
        if(x<=c && v[x]>y)
        {
            v[x]=y;
        }
        for(int j=1; j<c; j++)
        {
            if(v[j]!=85239873 && j+x<c)
            {
                if(v[j+x]>v[j]+y)
                {
                    v[j+x]=v[j]+y;
                }
            }
            else if(j+x>=c && v[j]!=85239873)
            {
                if(y+v[j]<ma)
                    ma=y+v[j];
            }
        }
    }
    out << min(ma,v[c]);
    return 0;
}