Cod sursa(job #2530544)

Utilizator vladth11Vlad Haivas vladth11 Data 24 ianuarie 2020 21:58:28
Problema Carnati Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
#define debug(x) cerr << #x << " " << x << "\n"

using namespace std;
typedef long long ll;
int n,c;
vector <int> t[1501];
vector <int> teste;
int v[1501];
int pretul(int x){
    int best = 0,sum = 0;
    for(int i = 0;i <= 1500;i++){
        v[i] = -c;
        for(int j = 0;j < t[i].size();j++){
            if(t[i][j] >= x){
                v[i] += x;
            }
        }
        sum += v[i];
        if(sum > best){
            best = sum;
        }
        if(sum < 0)
            sum = 0;
    }
    return best;
}
int main()
{
    ifstream cin("carnati.in");
    ofstream cout("carnati.out");
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin >> n >> c;
    for(int i = 1;i <= n;i++){
        int x,y;
        cin >> x >> y;
        t[x].push_back(y);
        teste.push_back(y);
    }
    int maxim = 0;
    for(int i = 0;i < teste.size();i++){
        maxim = max(maxim,pretul(teste[i]));
    }
    cout << maxim;
    return 0;
}