Submission #971112

#TimeUsernameProblemLanguageResultExecution timeMemory
971112Roumak77Art Exhibition (JOI18_art)C++17
100 / 100
154 ms18260 KiB
#pragma GCC optimize ("O3") #pragma GCC optimize ("unroll-loops") #pragma GCC optimize("-Ofast") #include <bits/stdc++.h> #include <algorithm> #include <iostream> #include <vector> #include <limits> #include <cmath> #include <stack> #include <queue> #include <map> #include <math.h> using namespace std; using ll = long long; /* void solve(){ ll n; cin >> n; vector<pair<ll, ll>> list_n(n, pair<ll, ll>{0, 0}); for(ll i = 0; i < n; i++){ cin >> list_n[i].first; cin >> list_n[i].second; } sort(list_n.begin(), list_n.end()); ll curr_max = -1E15 - 5; for(ll i = 0; i < n; i++){ ll start = list_n[i].first; ll curr = 0; for(ll j = i; j < n; j++){ curr += list_n[j].second; curr_max = max(curr_max, curr - list_n[j].first + start); if(curr - list_n[j].first + start == 4232545716) { cout << i << " " << j << endl; } } } cout << curr_max << endl; } */ void solve() { ll n; cin >> n; ll curr_max = 0; vector<pair<ll, ll>> list_n(n, pair<ll, ll>{0, 0}); for (ll i = 0; i < n; i++) { cin >> list_n[i].first; cin >> list_n[i].second; curr_max = max(list_n[i].second, curr_max); } sort(list_n.begin(), list_n.end()); /*for (ll i = 0; i < n; i++) { cout << list_n[i].first << " " << list_n[i].second << endl; }*/ ll curr_min = 0; ll curr = 0; ll curr_pos = 0; for(ll i = 0; i < n; i++){ if(i == 0){ curr = -list_n[i].first; curr_pos = list_n[i].second - list_n[i].first; curr_min = curr; curr_max = max(curr_max, curr_pos - curr_min); continue; } curr += list_n[i - 1].first + list_n[i - 1].second - list_n[i].first; curr_pos += list_n[i].second + list_n[i - 1].first - list_n[i].first; curr_min = min(curr_min, curr); curr_max = max(curr_max, curr_pos - curr_min); } //cout << curr_max; cout << curr_max << endl; } int main(){ ios_base::sync_with_stdio(false); cout.tie(0); cin.tie(0); ll t = 1; while(t--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...