Cod sursa(job #2297859)

Utilizator mihaimodiMihai Modi mihaimodi Data 6 decembrie 2018 18:46:29
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 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(i=1;i<=cnt;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;
}