Cod sursa(job #1914259)

Utilizator alexilasiAlex Ilasi alexilasi Data 8 martie 2017 16:08:54
Problema Energii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 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 (c[j]!=0||j==0)
            {
                if (j+e>=m)
                {
                    Max=m;
                    Min=min(Min, c[j]+co);
                }
                else
                {
                    if (Max<j+e) Max=j+e;
                    if (c[j+e]==0)
                        c[j+e]=c[j]+co;
                    else
                        c[j+e]=min(c[j+e], c[j]+co);
                }
            }
        }
    }
    if(Min==INT_MAX)Min=-1;
    if(m==0)Min=0;
    fout<<Min;
    return 0;
}