Submission #122492

#TimeUsernameProblemLanguageResultExecution timeMemory
122492egorlifarArt Exhibition (JOI18_art)C++17
100 / 100
297 ms29012 KiB
/* ЗАПУСКАЕМ ░ГУСЯ░▄▀▀▀▄░РАБОТЯГУ░░ ▄███▀░◐░░░▌░░░░░░░ ░░░░▌░░░░░▐░░░░░░░ ░░░░▐░░░░░▐░░░░░░░ ░░░░▐░░░░░▐░░░░░░░ ░░░░▐░░░░░▐░░░░░░░ ░░░░▐░░░░░▐░░░░░░░ ░░░░▐░░░░░▐░░░░░░░ ░░░░▐░░░░░▐░░░░░░░ ░░░░▐░░░░░▐░░░░░░░ ░░░░▐░░░░░▐░░░░░░░ ░░░░▌░░░░░▐▄▄░░░░░ ░░░░▌░░░░▄▀▒▒▀▀▀▀▄ ░░░▐░░░░▐▒▒▒▒▒▒▒▒▀▀▄ ░░░▐░░░░▐▄▒▒▒▒▒▒▒▒▒▒▀▄ ░░░░▀▄░░░░▀▄▒▒▒▒▒▒▒▒▒▒▀▄ ░░░░░░▀▄▄▄▄▄█▄▄▄▄▄▄▄▄▄▄▄▀▄ ░░░░░░░░░░░▌▌░▌▌░░░░░ ░░░░░░░░░░░▌▌░▌▌░░░░░ ░░░░░░░░░▄▄▌▌▄▌▌░░░░░ */ #include <iostream> #include <complex> #include <vector> #include <string> #include <algorithm> #include <cstdio> #include <numeric> #include <cstring> #include <ctime> #include <cstdlib> #include <set> #include <map> #include <unordered_map> #include <unordered_set> #include <list> #include <cmath> #include <bitset> #include <cassert> #include <queue> #include <stack> #include <deque> #include <random> #include <chrono> using namespace std; template<class T1, class T2> inline int chkmin(T1 &x, const T2 &y) { if (x > y) { x = y; return 1; } else { return 0; } } template<class T1, class T2> inline int chkmax(T1 &x, const T2 &y) { if (x < y) { x = y; return 1; } else { return 0; } } #define all(c) (c).begin(), (c).end() #define sz(c) (int)(c).size() #define mp make_pair #define pb push_back #define read(FILENAME) freopen((string(FILENAME) + ".in").c_str(), "r", stdin) #define write(FILENAME) freopen((string(FILENAME) + ".out").c_str(), "w", stdout); template<class iterator> void output(iterator begin, iterator end, ostream &out = cerr) { while (begin != end) { out << (*begin) << " "; begin++; } out << endl; } template<class T> void output(const T &x, ostream &out = cerr) { output(x.begin(), x.end(), out); } void fast_io() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); } const int MAXN = 500228; int n; long long a[MAXN], b[MAXN]; int main() { fast_io(); //read("input"); cin >> n; vector<pair<long long, int> > st; for (int i = 0; i < n; i++) { cin >> a[i] >> b[i]; st.pb({a[i], i}); } sort(all(st)); long long sum = 0; long long ans = -1e18; long long kek = -1e18; for (int i = 0; i < n; i++) { chkmax(kek, st[i].first - sum); // cout << b[st[i].second] << endl; chkmax(ans, sum + b[st[i].second] - st[i].first + kek); sum += b[st[i].second]; } cout << ans << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...