제출 #1314265

#제출 시각아이디문제언어결과실행 시간메모리
1314265haithamcoderArranging Shoes (IOI19_shoes)C++20
컴파일 에러
0 ms0 KiB
#include "shoes.h"
using namespace std;
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
typedef long long ll;

#define dbg(x) cerr << #x << " = " << x << "\n";

using namespace __gnu_pbds;

typedef tree<
    ll, 
    null_type, 
    less<ll>, 
    rb_tree_tag, 
    tree_order_statistics_node_update
> ordered_set;

long long count_swaps(std::vector<int> a) {
    ll n = a.size() / 2;

    map<ll, deque<ll>> mp;
    for (ll i = 0; i < 2 * n; i++) {
        mp[a[i]].push_back(i);
    }

    ordered_set s;
    for (ll i = 0; i < 2 * n; i++) {
        s.insert(i);
    }

    ll res = 0;
    while (s.size()) {
        // dbg(s.size());
        auto x = *s.begin();
        ll sz = a[x];
        mp[sz].pop_front();
        ll other = mp[-sz].front();
        mp[-sz].pop_front();
        res += s.order_of_key(other) - (sz < 0);
        s.erase(x);
        s.erase(other);
    }
    
    return res;
}

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

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:22:13: error: 'deque' was not declared in this scope
   22 |     map<ll, deque<ll>> mp;
      |             ^~~~~
shoes.cpp:4:1: note: 'std::deque' is defined in header '<deque>'; did you forget to '#include <deque>'?
    3 | #include<ext/pb_ds/assoc_container.hpp>
  +++ |+#include <deque>
    4 | #include<ext/pb_ds/tree_policy.hpp>
shoes.cpp:22:21: error: template argument 2 is invalid
   22 |     map<ll, deque<ll>> mp;
      |                     ^~
shoes.cpp:22:21: error: template argument 4 is invalid
shoes.cpp:24:11: error: invalid types 'int[__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type {aka int}]' for array subscript
   24 |         mp[a[i]].push_back(i);
      |           ^
shoes.cpp:37:11: error: invalid types 'int[ll {aka long long int}]' for array subscript
   37 |         mp[sz].pop_front();
      |           ^
shoes.cpp:38:22: error: invalid types 'int[ll {aka long long int}]' for array subscript
   38 |         ll other = mp[-sz].front();
      |                      ^
shoes.cpp:39:11: error: invalid types 'int[ll {aka long long int}]' for array subscript
   39 |         mp[-sz].pop_front();
      |           ^