Submission #1234316

#TimeUsernameProblemLanguageResultExecution timeMemory
1234316dostsRadio Towers (IOI22_towers)C++20
14 / 100
256 ms1820 KiB
#include "towers.h" #include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2") //#define int long long #define pii pair<int,int> #define vi vector<int> #define ff first #define ss second #define sp << " " << #define all(x) x.begin(),x.end() #define big(x) ((int)(x.size())) using namespace std; const int MOD = 1e9+7, inf = 2e9,LIM = 2001; vi h,pref; int qry(int l,int r) { if (l > r) return 0; if(!l)return pref[r]; return pref[r]-pref[l-1]; } void init(int N, std::vector<int> H) { h = H; pref.resize(N); pref[0] = ((N==1)||(H[0]<H[1])); for (int i=1;i<N;i++) { pref[i] = pref[i-1]+(((i==N-1)||(H[i]<H[i+1]))&&(H[i]<H[i-1])); } } int max_towers(int L, int R, int D) { if (L == R) return 1; if (L == R-1) return 1; return (h[L]<h[L+1])+(h[R-1]>h[R])+qry(L+1,R-1); }
#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...