Cod sursa(job #1914229)

Utilizator alexilasiAlex Ilasi alexilasi Data 8 martie 2017 16:00:02
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <vector>
#include <climits>

using namespace std;

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

int n,m,i,Min,Max,j,prez[100001],c[100001],e,co;

int main()
{
    fin>>n>>m;
    Min=INT_MAX;
    Max=0;
    for(i=1;i<=n;i++)
    {
        fin>>e>>co;
        for(j=Max;j>=0;j--)
        {
            if(prez[j]||j==0)
            {
                if(prez[j+e]==0)
                    prez[j+e]=1;
                if(j+e<m)Max=max(Max,j+e);
                c[j+e]=min(c[j+e],c[j]+co);
                if(!c[j+e])c[j+e]=c[j]+co;
                if(j+e>=m)Min=min(Min,c[j+e]);
            }
        }
    }
    if(Min==INT_MAX)Min=-1;
    fout<<Min;
    return 0;
}