Submission #1061642

#TimeUsernameProblemLanguageResultExecution timeMemory
1061642MarwenElarbiRadio Towers (IOI22_towers)C++17
0 / 100
454 ms1748 KiB
#include <bits/stdc++.h> using namespace std; #include "towers.h" #define pb push_back #define ll long long #define fi first #define se second int k=-1,n; vector<int> tab; void init(int N, std::vector<int> H) { n=N; for (int i = 0; i < N; ++i) { tab.pb(H[i]); } for (int i = 0; i < N-1; ++i) { if(tab[i]>tab[i+1]){ k=i; break; } } } int max_towers(int L, int R, int D){ if(L>=k||R<=k) return 1; int l=L-1; int r=k; while(r-l>1){ int mid=(r+l)/2; if(tab[mid]>tab[k]-D) r=mid; else l=mid; } int a=l; l=k; r=R+1; while(r-l>1){ int mid=(r+l)/2; if(tab[mid]>tab[k]-D) l=mid; else r=mid; } if(a==L-1||r==R+1) return 1; int ans=max(1,a-L+1+R-r+1); return ans; }
#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...