Submission #1307003

#TimeUsernameProblemLanguageResultExecution timeMemory
1307003nguyenkhangninh99Pairs (IOI07_pairs)C++20
6 / 100
314 ms587424 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){ 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 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...