Cod sursa(job #2778693)

Utilizator etienAndrone Stefan etien Data 2 octombrie 2021 01:31:37
Problema Carnati Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
pair<long long,long long>v[2001];
long long x[1501];
int main()
{
    long long n,c,maxi=0;
    fin>>n>>c;
    for(long long i=1;i<=n;i++)
        fin>>v[i].first>>v[i].second;
    for(long long i=1;i<=n;i++)
    {
        long long pret=v[i].second;
        for(long long j=0;j<=1500;j++)
            x[j]=-c;
        for(long long j=1;j<=n;j++)
            if(v[j].second>=pret)
                x[v[j].first]+=pret;
        long long s=0,smin=1e9,dmax=-1e9;
        for(long long j=0;j<=1500;j++)
        {
            s=s+x[j];
            smin=min(smin,s);
            dmax=max(s-smin,dmax);
        }
        maxi=max(maxi,dmax);
    }
    fout<<maxi;
    return 0;

}