Cod sursa(job #1961089)

Utilizator patrickdanDan patrick patrickdan Data 10 aprilie 2017 21:19:15
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
using namespace std;
long long max(long long a,long long b)
{
    if(a>b)
        return a;
    return b;
}
long long d[5002];
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    long long n,m,i,prod,cost,j,last,max1;
    scanf("%lld%lld",&n,&m);
    last=0;
    for(i=1;i<=n;i++)
    {
        scanf("%lld%lld",&prod,&cost);
        for(j=last;j>=0;j--)
            if(j+prod<=m)
        {
            d[j+prod]=max(d[j+prod],d[j]+cost);
            if(j+prod>last)
                last=j+prod;
        }
    }
    if(max1==0)
        printf("-1");
    else
      printf("%lld",d[m]);
    return 0;
}