Cod sursa(job #1226020)

Utilizator ZenusTudor Costin Razvan Zenus Data 4 septembrie 2014 12:59:29
Problema Energii Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>
#include <climits>
#include <algorithm>

using namespace std;

#define NMAX 10000001

int energy,cost,i,j,N,M,VMAX,MIN;
int marked[NMAX];

int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);

scanf("%d%d",&N,&M);

for (i=1,MIN=INT_MAX;i<=N;++i)
{
    scanf("%d%d",&energy,&cost);

    for (j=M;j>=0;--j)
    if (marked[j] || !j)
    {
        if (marked[j+energy]==0) marked[j+energy]=INT_MAX;

        marked[j+energy]=min(marked[j+energy],marked[j]+cost);
        if (j+energy>=M) MIN=min(MIN,marked[j+energy]);
    }
}
printf("%d\n",MIN);

return 0;
}