제출 #1254338

#제출 시각아이디문제언어결과실행 시간메모리
1254338pramad712Circus (Balkan15_CIRCUS)C++20
0 / 100
54 ms1644 KiB
#include "circus.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> positions;
vector<int> minimals;

void init(int N, int M, int P[]){
    sort(P, P + N, greater<>());

    positions.push_back(M);
    minimals.push_back(0);

    for (int index = 0; index < N; index++) {
        int position = P[index];
        minimals.push_back(minLength(position));
        positions.push_back(position);
    }

    minimals.push_back(minLength(0));
    positions.push_back(0);

    reverse(minimals.begin(), minimals.end());
    reverse(positions.begin(), positions.end());
}

int minLength(int placement) {
    int minimal = 0, maximal = 1'000'000'000;

    while (minimal < maximal) {
        int middle = (minimal + maximal) / 2;

        int end = placement + middle;
        int index = upper_bound(positions.begin(), positions.end(), end) - positions.begin() - 1;
        int height = positions[index] - placement;

        if (height >= minimals[index]) {
            maximal = middle;
        }

        else {
            minimal = middle + 1;
        }
    }

    return minimal;
}
//
// int main() {
//     int N, M, Q;
//     cin >> N >> M >> Q;
//
//     int P[N];
//
//     for (int index = 0; index < N; index++) {
//         cin >> P[index];
//     }
//
//     init(N, M, P);
//
//     for (int q = 0; q < Q; q++) {
//         int D;
//         cin >> D;
//
//         cout << minLength(D) << "\n";
//     }
//
//     return 0;
// }

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

grader.cpp: In function 'int main()':
grader.cpp:16:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |         scanf("%d%d", &N, &M);
      |         ~~~~~^~~~~~~~~~~~~~~~
grader.cpp:18:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |                 scanf("%d", &P[i]);
      |                 ~~~~~^~~~~~~~~~~~~
grader.cpp:21:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |         scanf("%d", &Q);
      |         ~~~~~^~~~~~~~~~
grader.cpp:23:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   23 |                 scanf("%d", &d);
      |                 ~~~~~^~~~~~~~~~
#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...