Submission #291485

#TimeUsernameProblemLanguageResultExecution timeMemory
291485crossing0verDischarging (NOI20_discharging)C++17
11 / 100
847 ms18040 KiB
#include<bits/stdc++.h> #define int long long #define ll long long #define fi first #define se second #define pii pair<int,int> #define vi vector<int> using namespace std; const int N = 1e6+6; ll ans; int n,arr[N]; main() { cin >> n; int tot = n; for (int i = 1; i <= n; i++) cin >> arr[i]; int mx = 0,k = 0,block = 0; for (int i = 1; i <= n; i++) { // block++; if (tot*mx <= block*arr[i]) { block = 0; k += arr[i]; tot = n - i+1; ans += k; } else { if (mx < arr[i]) { ans += (arr[i] - mx)*(block+1); ans += mx; k += arr[i] - mx; mx = arr[i]; } else ans += k; // if (mx < arr[i]) mx = arr[i], k += arr[i] - mx; } mx = max(mx,arr[i]); // ans += k; block++; } cout << ans; }

Compilation message (stderr)

Discharging.cpp:12:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   12 | main() {
      |      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...