제출 #1140809

#제출 시각아이디문제언어결과실행 시간메모리
1140809altern23Art Exhibition (JOI18_art)C++20
100 / 100
116 ms12112 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize ("O2") #pragma GCC optimize ("unroll-loops") #define ll long long #define pii pair<ll,ll> #define fi first #define sec second #define ld long double ostream& operator << (ostream& os, pii x){ os << "["; os << " " << x.fi << " " << x.sec; os << " ]"; return os; } ostream& operator << (ostream& os, pair<pii, ll> x){ os << "["; os << " " << x.fi << " " << x.sec; os << " ]"; return os; } ostream& operator << (ostream& os, pair<ll, pii> x){ os << "["; os << " " << x.fi << " " << x.sec; os << " ]"; return os; } template <typename T> ostream& operator << (ostream& os, vector<T>tmp){ os << "["; for(auto x : tmp) os << " " << x; os << " ]"; return os; } template <typename T> ostream& operator << (ostream& os, set<T>tmp){ os << "["; for(auto x : tmp) os << " " << x; os << " ]"; return os; } template <typename T> ostream& operator << (ostream& os, multiset<T>tmp){ os << "["; for(auto x : tmp) os << " " << x; os << " ]"; return os; } const ll MOD = 998244353; const ll N = 4e5; const ll INF = 2e18; // modulo operations void add(ll &a, ll b) { a = (a + b) % MOD; } void sub(ll &a, ll b) { a -= b; while(a < 0) a += MOD; a %= MOD; } void mul(ll &a, ll b) { a = (a * b) % MOD; } ll expo(ll a, ll b) { ll ans = 1; while(b > 0){ if(b & 1) mul(ans, a); mul(a, a); b /= 2; } return ans; } int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tc = 1; // cin >> tc; for(;tc--;){ ll n; cin >> n; vector<pii> items(n + 5); for(int i = 1; i <= n; i++){ cin >> items[i].fi >> items[i].sec; } sort(items.begin() + 1, items.begin() + 1 + n); vector<ll> ps(n + 5); for(int i = 1; i <= n; i++) ps[i] = ps[i - 1] + items[i].sec; ll mx = 0, ans = 0; for(int i = 1; i <= n; i++){ mx = max(mx, -ps[i - 1] + items[i].fi); ans = max(ans, ps[i] - items[i].fi + mx); } cout << ans << "\n"; } } /* */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...