Submission #825121

#TimeUsernameProblemLanguageResultExecution timeMemory
825121alvingogoRadio Towers (IOI22_towers)C++17
0 / 100
4094 ms1440 KiB
#include "towers.h" #include <bits/stdc++.h> #define fs first #define sc second #define p_q priority_queue using namespace std; vector<int> v; int mx; int n; void init(int N, vector<int> h) { v=h; n=N; mx=0; for(int i=1;i<n;i++){ if(v[i]>v[mx]){ mx=i; } } } int max_towers(int L, int R, int d) { if(L>=mx || R<=mx){ return 0; } int u=0; if(mx!=0){ int l=0,r=mx-1; while(r>l){ int m=(l+r+1)/2; if(v[m]+d>v[mx]){ r=m-1; } else{ l=m; } } u+=max(0,l-L+1); } if(mx+1!=n){ int l=mx+1,r=n-1; while(r>l){ int m=(l+r+1)/2; if(v[m]+d>v[mx]){ l=m+1; } else{ r=m; } } u+=max(0,R-l+1); } return u; }
#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...