Submission #761471

#TimeUsernameProblemLanguageResultExecution timeMemory
761471dooweyRadio Towers (IOI22_towers)C++17
11 / 100
4065 ms2884 KiB
#include <bits/stdc++.h> #include "towers.h" using namespace std; typedef long long ll; typedef pair<int, int> pii; #define fi first #define se second #define mp make_pair const int N = (int)1e5 + 10; int h[N]; void init(int n, vector<int> H) { for(int i = 0 ; i < n; i ++ ){ h[i] = H[i]; } } int D; int fin(int l, int r, int lim){ if(l > r) return 0; int mx = -1; bool has = false; for(int i = l; i <= r; i ++ ){ if(mx == -1 || h[i] > h[mx]){ mx = i; } if(h[i] <= lim){ has = true; } } if(!has) return 0; return max(1, fin(l,mx-1,h[mx]-D) + fin(mx+1,r,h[mx]-D)); } int max_towers(int L, int R, int delta) { D = delta; return fin(L,R,(int)1e9 + 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...