제출 #542461

#제출 시각아이디문제언어결과실행 시간메모리
542461OlympiaVudu (COCI15_vudu)C++17
42 / 140
1095 ms8704 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 (set<pair<int,int>>& s, int x) {
    int cntr = 0;
    for (auto& i: s) {
        if (i.first <= 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;
    set<pair<int,int>> s;
    for (int r = 0; r < N; r++) {
        //for (int l = 0; l <= r; l++) {
        s.insert({pref[r] - P * r, 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...