Cod sursa(job #2778698)

Utilizator etienAndrone Stefan etien Data 2 octombrie 2021 02:10:28
Problema Carnati Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 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,t_max=0;
    fin>>n>>c;
    for(long long i=1;i<=n;i++)
    {
        fin>>v[i].first>>v[i].second;
        t_max=max(t_max,v[i].first);
    }
    for(long long i=1;i<=n;i++)
    {
        long long pret=v[i].second;
        for(long long j=0;j<=t_max;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,smax=0;
        for(long long j=0;j<=t_max;j++)
        {
            s=s+x[j];
            if(s>smax)
                smax=s;
            if(s<0)
                s=0;
        }
        maxi=max(maxi,smax);
    }
    fout<<maxi;
    return 0;

}