Submission #967913

#TimeUsernameProblemLanguageResultExecution timeMemory
967913njoopVudu (COCI15_vudu)C++14
42 / 140
909 ms65536 KiB
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp> 
#include <bits/stdc++.h>
#define ll long long
using namespace __gnu_pbds;
using namespace std;

typedef tree<int, null_type, less_equal<ll>, rb_tree_tag,
             tree_order_statistics_node_update>
    ordered_multiset;
    
ordered_multiset s;

int n, p;
ll arr[1000010], dp[1000010], ans;

int main() {
    cin.tie(0)->sync_with_stdio(0);
    cin >> n;
    for(int i=1; i<=n; i++) {
        cin >> arr[i];
    }
    cin >> p;
    for(int i=n; i>0; i--) {
        arr[i] -= p;
        dp[i] = arr[i] + dp[i+1];
    }
    for(int i=1; i<=n; i++) {
        s.insert(dp[i]);
        ans += s.size() - s.order_of_key(dp[i+1]);
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...