Cod sursa(job #2297860)

Utilizator mihaimodiMihai Modi mihaimodi Data 6 decembrie 2018 18:47:35
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

int p[1005],e[1005];
int d[5002];
int n,cnt,i,j,k;

int main()
{
    fin>>n>>cnt;
    for(i=1;i<=cnt;i++)
            d[i]=INT_MAX;
    for(i=1;i<=n;i++)
        fin>>e[i]>>p[i];

    for(j=1;j<=n;j++)
        for(k=cnt;k>=0;k--)
            if(d[k]!=INT_MAX)
            {
                if(k+e[j]>cnt)
                    d[cnt]=min(d[cnt],d[k]+p[j]);
                else
                    d[k+e[j]]=min(d[k+e[j]],d[k]+p[j]);
            }


    if(d[cnt]!=INT_MAX)
        fout<<d[cnt];
    else
        fout<<-1;
    return 0;
}