Cod sursa(job #3337605)

Utilizator andreiciocanCiocan Andrei andreiciocan Data 29 ianuarie 2026 09:35:02
Problema Carnati Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
struct date
{
    int t,p;
}v[2001];

bool cmp(date a,date b)
{
    if(a.t<b.t)
        return true;
    return false;
}
int main()
{
    int n,c,maxi=0;
    cin>>n>>c;
    for(int i=1;i<=n;i++)
    {
        cin>>v[i].t>>v[i].p;
    }
    sort(v+1,v+n+1,cmp);

    for(int i=1;i<=n;i++)
    {
        int pret=v[i].p,s=0;
        for(int j=1;j<=n;j++)
        {
            s=s-(v[j].t-v[j-1].t)*c;
            if(s<0)
                s=0;
            if(v[j].p>=pret)
                s+=pret;
            maxi=max(maxi,s);
        }
    }
    cout<<maxi-c;
    return 0;
}