제출 #836201

#제출 시각아이디문제언어결과실행 시간메모리
836201tengiz05송신탑 (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...