제출 #1078842

#제출 시각아이디문제언어결과실행 시간메모리
1078842LittleOrange송신탑 (IOI22_towers)C++17
0 / 100
4075 ms2236 KiB
#include "towers.h"

#include <vector>
#include<bits/stdc++.h>
using namespace std;
using ll = int;
ll n;
vector<ll> h;
ll mx;
struct obj{
  ll v,c;
  bool operator<(const obj &o) const{
    return v<o.v;
  }
  bool operator>(const obj &o) const{
    return v>o.v;
  }
};

void init(int N, std::vector<int> H) {
  n = N;
  h = H;
  for(ll i = 0;i<n;i++) if((i==0||(h[i-1]<h[i]))&&(i==n-1||h[i]>h[i+1])) mx = i;
}

int max_towers(int L, int R, int D) {
  ll l = L, r = R, d = D;
  ll ans = 1;
  vector<obj> a,b;
  a.push_back({0,0});
  for(ll i = l;i<=r;i++){
    ll cur = 0;
    obj oa = {h[i],cur+1};
    while(a.size()&&a.back().v>=h[i]) a.pop_back();
    a.push_back(oa);
  }
  return 1+(L<mx&&mx<R&&max(h[L],h[R])<=h[mx]);
}

컴파일 시 표준 에러 (stderr) 메시지

towers.cpp: In function 'int max_towers(int, int, int)':
towers.cpp:27:20: warning: unused variable 'd' [-Wunused-variable]
   27 |   ll l = L, r = R, d = D;
      |                    ^
towers.cpp:28:6: warning: unused variable 'ans' [-Wunused-variable]
   28 |   ll ans = 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...