제출 #946259

#제출 시각아이디문제언어결과실행 시간메모리
946259attkyArt Exhibition (JOI18_art)C++17
100 / 100
140 ms28740 KiB
#include <bits/stdc++.h>

using namespace std;

struct Art {
    long long int taille = 0;
    long long int valeur = 0;
    
    bool operator< (Art other) {
        return taille < other.taille;
    }
};

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    int n;
    cin >> n;
    vector<Art> stock(n+1);
    for(int loop = 1; loop <= n; ++loop) {
        cin >> stock[loop].taille >> stock[loop].valeur;
    }
    sort(stock.begin(), stock.end());
    for(int loop = 1; loop <= n; ++loop) {
        stock[loop].valeur += stock[loop-1].valeur;
    }
    long long int debut[n], fin[n];
    for(int loop = 0; loop < n; ++loop) {
        debut[loop] = stock[loop].valeur - stock[loop+1].taille;
        fin[loop] = stock[loop+1].valeur - stock[loop+1].taille;
    }
    long long int maxi = -1000000000000000000, mini = 1000000000000000000, somme = 0;
    for(int loop = 0; loop < n; ++loop) {
        if(fin[loop] > maxi) {
            maxi = fin[loop];
        }
        if(debut[loop] < mini) {
            mini = debut[loop];
            maxi = fin[loop];
        }
        somme = max(somme, maxi-mini);
    }
    cout << somme;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...