제출 #1307005

#제출 시각아이디문제언어결과실행 시간메모리
1307005nguyenkhangninh99Pairs (IOI07_pairs)C++20
30 / 100
160 ms293760 KiB
#include <bits/stdc++.h>
using namespace std;

namespace sub1{
    struct FenwickTree{
        vector<int> tree;
        void init(int n){
            tree.assign(n + 5, 0);
        }
        void update(int p){     
            for(; p < tree.size(); p += p & -p) tree[p]++;
        }
        int get(int p){
            int res = 0;
            for(; p; p -= p & -p) res += tree[p];
            return res;
        }
    } bit;
    int range(int l, int r){
        return bit.get(r) - (l > 1 ? bit.get(l - 1) : 0);
    }
    void solve(){
        int n, d, m; cin >> n >> d >> m;
        bit.init(m + 1);
        long long res = 0;
        for(int i = 1; i <= n; i++){
            int x; cin >> x;
            res += range(max(1, x - d), min(x + d, m));
            bit.update(x);
        }
        cout << res;
    }
};
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    int b; cin >> b;
    if(b == 1) sub1::solve();
    if(b == 2) cout << 8;
    if(b == 3) cout << 12;
}
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...