Submission #1298056

#TimeUsernameProblemLanguageResultExecution timeMemory
1298056m_a_dDischarging (NOI20_discharging)C++20
0 / 100
296 ms8224 KiB
#include<bits/stdc++.h>

using namespace std;

#define int long long

int32_t main() {
    int n;
    cin >> n;
    int arr[n];
    for(int i=0; i<n; ++i) cin >> arr[i];
    //Assuming sorted order
    int ans=0;
    int sum=arr[0];
    int curr_len=1;
    int curr_bias=0;
    for(int i=1; i<n; ++i) {
        if((arr[i]-arr[i-1])*curr_len>(n-i)*arr[i-1]) {
            ans+=curr_len*arr[i-1];
            curr_len=1;
            curr_bias+=arr[i-1];
        }
        else {
            curr_len++;
        }
        ans+=curr_bias;
    }
    ans+=curr_len*arr[n-1];
    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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...