# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1036943 | 2024-07-27T20:21:03 Z | XJP12 | 송신탑 (IOI22_towers) | C++17 | 0 ms | 0 KB |
#include <bits/stdc++.h> #include "towers.h" using namespace std; typedef long long ll; typedef vector<int> vi; vi v; void init(int n, vi h) { v=h; } int max_towers(int l, int r, int d) { int ans=0; int v1=-1; int p=-1; bool ban=false; for(int i=1; i<n; i++){ if(v[i]<v[i-1]){ if(p!=-1){ if(p1-v1>d){ p1=v1=-1; }else{ ban=true; } } } if(v[i]>v[i-1]){ if(ban==true){ ans++; ban=false; v1=v[i-1]; } if(v1==-1){ v1=v[i-1]; } p1=v[i]; } } return ans; }