Cod sursa(job #1694931)

Utilizator Alexa2001Alexa Tudose Alexa2001 Data 26 aprilie 2016 12:04:37
Problema Carnati Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#include <algorithm>

using namespace std;

const int Tmax=1501;
const int NM=2005;

int i,n, timp[Tmax+5], C, nr, j, Max=-1;

struct bonba {int t,p;};
bonba a[NM];

bool cmp(bonba a, bonba b)
{
    return (a.p>b.p);
}

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

    scanf("%d%d", &n, &C);
    for(i=1; i<=n; ++i) scanf("%d%d", &a[i].t, &a[i].p);

    sort(a+1, a+n+1, cmp);

    for(i=1; i<=n; ++i)
    {
         ++timp[a[i].t+1];

         nr=0;
         for(j=1; j<=Tmax; ++j)
         {
             nr= timp[j]*a[i].p - C + max(nr, 0);
             if(nr>Max) Max=nr;
         }
    }

    printf("%d\n", Max);

    return 0;
}