Cod sursa(job #2664724)

Utilizator Diana_IonitaIonita Diana Diana_Ionita Data 29 octombrie 2020 11:00:33
Problema Carnati Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
int n,c,rez,i,j,v[2001];

struct cump
{
    int t,p;
} a[2001];
bool comp(cump x, cump y)
{
    return x.t<y.t;

}
int main()
{
    fin>>n>>c;
    for(i=1; i<=n; i++)
    {
        fin>>a[i].t>>a[i].p;
    }
    sort(a+1,a+n+1,comp);
    a[0].t=a[1].t-1;

    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n; j++)
        {
            v[j]=0;
            if(a[i].p<=a[j].p) v[j]=a[i].p;
            v[j]=max(v[j]+v[j-1]-(a[j].t-a[j-1].t)*c,v[j]-c);
            rez=max(rez,v[j]);

        }
    }
    fout<<rez<<'\n';
    return 0;
}