제출 #1307004

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

#define int long long

namespace sub1{
    struct FenwickTree{
        vector<int> tree;
        void init(int n){
            tree.assign(n, 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);
        int res = 0;
        for(int i = 1; i <= n; i++){
            int x; cin >> x;
            res += range(max(1ll, x - d), min(x + d, m));
            bit.update(x);
        }
        cout << res;
    }
};
signed 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...