Cod sursa(job #2295836)

Utilizator mihaimodiMihai Modi mihaimodi Data 3 decembrie 2018 23:06:31
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <climits>
using namespace std;

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

int p[1005],e[1005];
int a[1005][10005];
int n,cnt,i,j,k,Max;

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

    for(i=2;i<=n;i++)
        for(j=1;j<=cnt;j++)
            for(k=cnt-e[j];k>=1;k--)
                if(a[i-1][k]!=INT_MAX)
                    a[i][k+e[j]]=min(a[i-1][k]+p[j],a[i][k+e[j]]);



    if(a[n][cnt]!=INT_MAX)
        fout<<a[n][cnt];
    else
        fout<<-1;


    return 0;

}