제출 #689645

#제출 시각아이디문제언어결과실행 시간메모리
689645lohachoRadio Towers (IOI22_towers)C++17
23 / 100
4054 ms13032 KiB
#include "towers.h" #include <bits/stdc++.h> using namespace std; int n; vector<int> a; void init(int N, std::vector<int> H) { n = N; a = H; } int max_towers(int L, int R, int D) { vector<vector<int>> srt; for(int i = L; i <= R; ++i){ srt.push_back({a[i], i}); } sort(srt.begin(), srt.end()); vector<vector<int>> ran; for(int i = 0; i < (int)srt.size(); ++i){ int now = srt[i][1]; int r = now + 1, can = 1; while(r <= R && a[r] < a[now] + D){ ++r; } int l = now - 1; while(l >= L && a[l] < a[now] + D){ --l; } ran.push_back({l + 1, r - 1}); } sort(ran.begin(), ran.end(), [&](vector<int>&x, vector<int>&y){return x[1] < y[1];}); int ans = 0, mx = -1; for(int i = 0; i < (int)ran.size(); ++i){ if(ran[i][0] > mx){ ++ans; mx = ran[i][1]; } } return ans; }

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

towers.cpp: In function 'int max_towers(int, int, int)':
towers.cpp:26:26: warning: unused variable 'can' [-Wunused-variable]
   26 |         int r = now + 1, can = 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...