Cod sursa(job #2848418)

Utilizator Luca_CristianZamfir Luca-Cristian Luca_Cristian Data 12 februarie 2022 15:55:03
Problema Carnati Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("carnati.in");
ofstream fout("carnati.out");

#define MAXN 2001
#define MAXT 1501

struct client
{
    long long time, price;
};
client v[MAXN];
int val[MAXT];

int main()
{
    long long n, k, i, j, maxx_time = 0;

    fin >> n >> k;
    for(i = 1; i <= n; i++)
    {
        fin >> v[i].time >> v[i].price;

        maxx_time = max(maxx_time, v[i].time);
    }

    long long pret = 0, ans = -99999999;
    for(i = 1; i <= n; i++)
    {
        pret = v[i].price;

        for(j = 1; j <= maxx_time; j++)
            val[j] = -k;

        for(j = 1; j <= n; j++)
            if(v[j].price >= pret)
               val[v[j].time] += pret;

       int sum = 0;
       for(j = 1; j <= maxx_time; j++)
       {
           sum += val[j];

           if(sum < 0)
            sum = 0;

           if(sum > ans)
             ans = sum;
       }
    }

    fout << ans;


    return 0;
}