제출 #573804

#제출 시각아이디문제언어결과실행 시간메모리
573804moday_morningA Difficult(y) Choice (BOI21_books)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #include "books.h" #ifndef EVAL #include "grader.cpp" #endif using namespace std; map <int, long long> mp; long long all(int k, int p) { long long sum = 0; for (int i = 0; i < k; i++) { int pos = i + 1 + p; if (mp.find(pos) == mp.end()) { mp[pos] = skim(pos); sum += mp[pos]; } } return sum; } void solve(int N, int K, long long A, int S) { long long l = 0, r = N - K - 1, left = 2 * A / K, rr = (K + 1 + A) / K; while (l <= r) { long long mid = (l + r) / 2, lll = all(1, mid), rrr = all(1, mid + K - 1); if (left < lll) { r = mid; } else if (rr > rrr) { l = mid + 1; } else { if (A * 2 < all(K, mid)) { r = mid - 1; } else if (A > all(K, mid)) { l = mid + 1; } else { vector <int> st; for (int i = 0; i < K; i++) { int pos = mid + i + 1; st.push_back(pos); } answer(st); return; } } } l = K; r = N - 1; while (l <= r) { int mid = (l + r) / 2; long long check = all(K - 1, 0) + all(1, mid) if (A * 2 < check) { r = mid - 1; } else if (A > check) { l = mid + 1; } else { vector <int> st; for (int i = 0; i < K - 1; i++) { int pos = i + 1; st.push_back(pos); } st.push_back(mid + 1); answer(st); return; } } impossible(); }

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

books.cpp: In function 'void solve(int, int, long long int, int)':
books.cpp:54:3: error: expected ',' or ';' before 'if'
   54 |   if (A * 2 < check) {
      |   ^~
books.cpp:57:3: error: 'else' without a previous 'if'
   57 |   else if (A > check) {
      |   ^~~~