제출 #542459

#제출 시각아이디문제언어결과실행 시간메모리
542459OlympiaVudu (COCI15_vudu)C++17
42 / 140
1089 ms9344 KiB
#include <vector>
#include <algorithm>
#include <iostream>
#include <set>
#include <cmath>
#include <map>
#include <random>
#include <cassert>
#include <ctime>
#include <cstdlib>
#include <queue>
#include <limits.h>

using namespace std;
int get (multiset<int>& s, int x) {
    int cntr = 0;
    for (int i: s) {
        if (i <= x) {
            cntr++;
        }
    }

    return cntr;
}
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int N; cin >> N;
    vector<int> arr(N); for (int i = 0; i < N; i++) cin >> arr[i];
    vector<int> pref = {0}; for (int i = 0; i < N; i++) pref.push_back(pref.back() + arr[i]);
    int P; cin >> P;
    int c = 0;
    multiset<int> s;
    for (int r = 0; r < N; r++) {
        //for (int l = 0; l <= r; l++) {
        s.insert(pref[r] - P * r);
            c += get(s, pref[r + 1] - P * (r + 1));
            //if (pref[r + 1] - P * r - P >= pref[l] -P * l) {
                //c++;
            //}
        //}
    }
    cout << c;
}
#Verdict Execution timeMemoryGrader output
Fetching results...