#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){
l = max(l, 1ll);
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(x - d, x);
if(x < m) res += range(x + 1, 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 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... |