제출 #1279524

#제출 시각아이디문제언어결과실행 시간메모리
1279524peanutArt Exhibition (JOI18_art)C++20
100 / 100
132 ms19972 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second using ll = long long; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<pair<ll, ll>> artworks(n); for (auto &i : artworks) cin >> i.fi >> i.se; sort(artworks.begin(), artworks.end(), [](pair<ll, ll> &a, pair<ll, ll> &b) {return a.fi < b.fi;}); vector<pair<ll, ll>> a; for (int i = 1; i < n; ++i) { if (artworks[i].fi == artworks[i-1].fi) artworks[i].se += artworks[i-1].se; else a.push_back(artworks[i-1]); } a.push_back(artworks.back()); n = a.size(); vector<ll> pfs(n+1, 0); for (int i = 1; i <= n; ++i) pfs[i] = pfs[i-1] + a[i-1].se; ll m = 0; ll ans = 0; for (int i = 1; i <= n; ++i) { m = max(m, a[i-1].fi - pfs[i-1]); ans = max(ans, pfs[i] - a[i-1].fi + m); } cout << ans; 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...