#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |