Submission #479737

#TimeUsernameProblemLanguageResultExecution timeMemory
479737chungdinhArt Exhibition (JOI18_art)C++17
100 / 100
604 ms12100 KiB
#include <iostream> #include <vector> #include <bitset> #include <queue> #include <algorithm> #include <cstring> #include <cmath> #include <stack> #include <set> #include <map> #include <cassert> #include <bits/stdc++.h> using namespace std; #define pb push_back #define ll long long #define ii pair<long long int, long long int> #define pll pair<long long, long long> #define fi first #define se second #define r first #define c second #define all(x) x.begin(), x.end() #define mk(x, y) make_pair(x, y) ostream& operator << (ostream& os, pair<int, int> a) { return os << a.first << " : " << a.second; } #define endl '\n' #define db(val) "["#val" = "<<(val)<<"] " #define cntbit(x) __builtin_popcount(x) const int N = 5e5 + 5; const int iINF = 1e9; const ll MOD = 1e9 + 7; const ll MOD2 = 998244353; const ll INF = 1e18; int n; ii a[N]; ll dp[N]; int main() { ios_base::sync_with_stdio(); #ifdef CHUNGDINH freopen("main.inp","r",stdin); freopen("main.out","w",stderr); #endif cin >> n; for (int i = 1; i <= n; i++) cin >> a[i].first >> a[i].second; sort(a + 1, a + n + 1); ll ff = -INF; for (int i = 1; i <= n; i++) { dp[i] = a[i].second; dp[i] = max(dp[i], ff + a[i].second - a[i].first); ff = max(ff, dp[i] + a[i].first); } cout << *max_element(dp + 1, dp + n + 1); } /* Array bounds * long long vs int Garbage value Sometimes, VNOI views "arrays out of bounds" as "wrong answer" */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...