Submission #768671

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