제출 #599136

#제출 시각아이디문제언어결과실행 시간메모리
599136pakhomovee커다란 상품 (IOI17_prize)C++17
컴파일 에러
0 ms0 KiB
#include "prize.h"
#include <vector>

int find_best(int n) {
    int pr = 0;
    map<int, int> d;
    while (pr != n) {
        int l = pr, r = n;
        while (l + 1 < r) {
            int m = (l + r) / 2;
            int have = 0;
            vector<int> q = ask(m)[0];
            int lt = q[0];
            int rt = q[1];
            for (auto [x, y] : d) {
                if (lt + rt > x) {
                    have += y;
                }
            }
            if (lt - have) {
                r = m;
            } else {
                l = m;
            }
        }
        std::vector<int> arr = ask(l);
        if (arr[0] == arr[1] && arr[0] == 0) {
            return l;
        }
        ++d[arr[0] + arr[1]];
        pr = l + 1;
    }
    return -1;
}

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

prize.cpp: In function 'int find_best(int)':
prize.cpp:6:5: error: 'map' was not declared in this scope
    6 |     map<int, int> d;
      |     ^~~
prize.cpp:6:9: error: expected primary-expression before 'int'
    6 |     map<int, int> d;
      |         ^~~
prize.cpp:12:13: error: 'vector' was not declared in this scope
   12 |             vector<int> q = ask(m)[0];
      |             ^~~~~~
prize.cpp:12:13: note: suggested alternatives:
In file included from /usr/include/c++/10/vector:67,
                 from prize.h:1,
                 from prize.cpp:1:
/usr/include/c++/10/bits/stl_vector.h:389:11: note:   'std::vector'
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
In file included from prize.h:1,
                 from prize.cpp:1:
/usr/include/c++/10/vector:86:13: note:   'std::pmr::vector'
   86 |       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
      |             ^~~~~~
prize.cpp:12:20: error: expected primary-expression before 'int'
   12 |             vector<int> q = ask(m)[0];
      |                    ^~~
prize.cpp:13:22: error: 'q' was not declared in this scope
   13 |             int lt = q[0];
      |                      ^
prize.cpp:15:32: error: 'd' was not declared in this scope
   15 |             for (auto [x, y] : d) {
      |                                ^
prize.cpp:30:11: error: 'd' was not declared in this scope
   30 |         ++d[arr[0] + arr[1]];
      |           ^