Submission #1285536

#TimeUsernameProblemLanguageResultExecution timeMemory
1285536HoriaHaivasPairs (IOI07_pairs)C++20
30 / 100
18 ms1364 KiB
#include<bits/stdc++.h> #define debug(x) cerr << #x << " " << x << "\n" #define debugs(x) cerr << #x << " " << x << " " #pragma GCC optimize("Ofast") #define int long long using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int range_rng(int l, int r) { return uniform_int_distribution<int>(l,r)(rng); } /*s struct nush { int val; int poz; }; bool cmp(nush a, nush b) { return a.val<b.val; } */ int v[100005]; int ans[100005]; signed main() { /* ifstream fin("camere.in"); ofstream fout("camere.out"); */ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int b,n,m,d,i,ans,l,r,pas,lim; cin >> b >> n >> d >> m; if (b==1) { for (i=1;i<=n;i++) { cin >> v[i]; } sort(v+1,v+1+n); ans=0; for (i=1;i<=n;i++) { l=0; lim=v[i]-d; pas=(1<<17); while (pas) { if (l+pas<=n && v[l+pas]<lim) l+=pas; pas=pas/2; } l++; r=0; lim=v[i]+d; pas=(1<<17); while (pas) { if (r+pas<=n && v[r+pas]<=lim) r+=pas; pas=pas/2; } ans+=r-l+1-1; } cout << ans/2; } return 0; }
#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...