제출 #1227125

#제출 시각아이디문제언어결과실행 시간메모리
1227125LeonidCuk송신탑 (IOI22_towers)C++20
0 / 100
4064 ms2120 KiB
#include <bits/stdc++.h> #include "towers.h" using namespace std; vector<int>v; int n; void init(int N, vector<int>H) { n=N; v.resize(n); for(int i=0;i<n;i++) { v[i]=H[i]; } } int dvq(int l,int r,int k,int d) { if(r<l)return 0; if(r==l) { if(v[l]<=k)return 1; else return 0; } int t=-1,tmax=-1,tmin=1e9; for(int i=l;i<=r;i++) { if(tmax<v[i]) { t=i; tmax=v[i]; } tmin=min(tmin,v[l]); } if(tmin>k)return 0; else return max(1,dvq(l,t-1,tmax-d,d)+dvq(t+1,r,tmax-d,d)); } int max_towers(int l,int r,int d) { return dvq(l,r,2e9,d); }
#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...