Submission #1283005

#TimeUsernameProblemLanguageResultExecution timeMemory
1283005anhphantArt Exhibition (JOI18_art)C++20
100 / 100
155 ms16076 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define fi first #define se second ll N; pair<ll, ll> A[500007]; int main() { ios_base :: sync_with_stdio(0); cin.tie(0); cout.tie(0); cerr.tie(0); if (fopen("test.inp", "r")) { freopen("test.inp", "r", stdin); freopen("test.out", "w", stdout); } cin >> N; for(int i = 1; i <= N; ++i) { cin >> A[i].fi >> A[i].se; } sort(A + 1, A + 1 + N); vector<ll> diff(N + 7, 0LL); diff[1] = A[1].se - A[1].fi; for(int i = 2; i <= N; ++i) { diff[i] = (A[i].se + A[i - 1].se - A[i].fi) - (A[i - 1].se - A[i - 1].fi); } vector<ll> minSufDiff(N + 7, 0LL); ll curMin = 0, curSum = 0; for(int i = N; i >= 1; --i) { curSum += diff[i]; curMin = min(curMin, curSum); minSufDiff[i] = curSum - curMin; } ll ans = 0; for(int i = 1; i <= N; ++i) { ans = max(ans, A[i].se + minSufDiff[i + 1]); } cout << ans; }

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:13:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         freopen("test.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
art.cpp:14:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |         freopen("test.out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...