Submission #1192616

#TimeUsernameProblemLanguageResultExecution timeMemory
1192616hyakupRadio Towers (IOI22_towers)C++20
14 / 100
256 ms1956 KiB
#include "towers.h" #include <bits/stdc++.h> using namespace std; const int inf = 2e9; const int maxn = 1e5 + 10; vector<int> h, bit( maxn ); void update( int id, int val ){ for( int i = id; i < maxn; i += i&-i ) bit[i] += val; } int query( int id ){ int sum = 0; for( int i = id; i > 0; i -= i&-i ) sum += bit[i]; return sum; } void init(int n, vector<int> H) { h = H; for( int i = 1; i + 1 < n; i++ ) if( h[i] < h[i - 1] && h[i] < h[i + 1] ) update( i, 1 ); } int max_towers(int l, int r, int d) { if( l == r ) return 1; int resp = query(r - 1) - query(l); if( h[l] < h[l + 1] ) resp++; if( h[r] < h[r - 1] ) resp++; return resp; }
#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...