Submission #950191

#TimeUsernameProblemLanguageResultExecution timeMemory
950191vjudge1Vudu (COCI15_vudu)C++17
112 / 140
490 ms65536 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
#define ff first
#define ss second
#define all(a) a.begin(), a.end()
#define int long long

typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    int n; cin >> n;
    vector<int> a(n);
    for(auto &e : a) cin >> e;
    int p; cin >> p;
    for(auto &e : a) e-= p;
    int sum = 0, ans = 0;
    ordered_set st;
    st.insert(0);
    for(int i = 0;i < n; i++){
        sum+= a[i];
        auto it = st.order_of_key((sum + 1));
        ans = ans + it;
        st.insert(sum);
    }
    
    cout << ans;
    return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...