Submission #768687

#TimeUsernameProblemLanguageResultExecution timeMemory
768687LinkedArrayArt Exhibition (JOI18_art)C++17
100 / 100
151 ms20796 KiB
#include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); long long n; cin >> n; pair<long long, long long> artwork[n + 1]; for(long long i = 1; i <= n; i++){ cin >> artwork[i].first >> artwork[i].second; // First = Size; Second = Value; } sort(artwork, artwork + n + 1); // Sort the vector long long ans = 0, totalValue = 0, restTillLastTotalValue = 0; for(long long i = 1; i <= n; i++){ // Keep the current value sum // We also keep a variable restTillLastTotalValue (size - lastSum(lastSum which can be written as currentSum - currentValue)); ans = max(ans, (totalValue = totalValue + artwork[i].second) - (artwork[i].first - (restTillLastTotalValue = max(restTillLastTotalValue, artwork[i].first - (totalValue - artwork[i].second))))); } cout << ans; return 0; }

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:21:36: warning: operation on 'totalValue' may be undefined [-Wsequence-point]
   21 |         ans = max(ans, (totalValue = totalValue + artwork[i].second) - (artwork[i].first - (restTillLastTotalValue = max(restTillLastTotalValue, artwork[i].first - (totalValue - artwork[i].second)))));
      |                        ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...