제출 #1172546

#제출 시각아이디문제언어결과실행 시간메모리
1172546versesrevArranging Shoes (IOI19_shoes)C++20
컴파일 에러
0 ms0 KiB
// 22:48 #include <vector> #include <unordered_map> #include <queue> long long count_swaps(stds::vecotr<int> ss) { int n2 = ss.size(); int n = n2 / 2; std::unordered_map<int, std::queue<int>> poss; for (int i = 0; i < n2; ++i) { poss[ss[i]].push(i); } std::vector<int> tree(n + 1, 0); auto update = [&](int pos, int val) { ++pos; for (; pos <= n; pos += (pos & -pos)) { tree[pos] += val; } }; auto query = [&](int pos) { ++pos; int r = 0; for (; pos > 0; pos -= (pos & -pos)) { r += tree[pos]; } return r; }; auto range_query = [&](int le, int ri) { if (ri < le) return 0; return query(ri) - query(le - 1); }; for (int i = 0; i < n2; ++i) update(i, 1); long long ans = 0; for (int i = 0; i < n2; ++i) { if (range_query(i, i) == 0) { continue; } int val = ss[i]; int val2 = -val; int pos = poss[val].front(); int pos2 = poss[val2].front(); ans += range_query(pos + 1, pos2 - 1); if (val > 0) ans += 1; update(pos, -1); update(pos2, -1); } return ans; }

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

shoes.cpp:6:23: error: 'stds' has not been declared
    6 | long long count_swaps(stds::vecotr<int> ss) {
      |                       ^~~~
shoes.cpp:6:36: error: expected primary-expression before 'int'
    6 | long long count_swaps(stds::vecotr<int> ss) {
      |                                    ^~~