Submission #836201

#TimeUsernameProblemLanguageResultExecution timeMemory
836201tengiz05Radio Towers (IOI22_towers)C++17
4 / 100
701 ms2124 KiB
#include "towers.h" #include <bits/stdc++.h> using namespace std; vector<int> A, B, H; int k; int n; void init(int N, vector<int> h) { n = N; k = n - 1; H = h; for (int i = 0; i < n - 1; i++) { if (h[i] < h[i + 1]) { A.push_back(h[i]); } else { k = i; break; } } for (int i = n - 1; i > 0; i--) { if (h[i] < h[i - 1]) { B.push_back(h[i]); } } } int max_towers(int L, int R, int D) { int l = upper_bound(A.begin(), A.end(), H[k] - D) - A.begin(); int r = upper_bound(B.begin(), B.end(), H[k] - D) - B.begin(); r = n - r; int a = max(0, l - L); int b = max(0, R - r + 1); if (a > 0 && b > 0) { return 2; } else { return 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...