Submission #376640

#TimeUsernameProblemLanguageResultExecution timeMemory
376640beingsebiArranging Shoes (IOI19_shoes)C++17
Compilation error
0 ms0 KiB
typedef long long ll;
using namespace std;
ll solve(vector<int> &ax)
{
    vector<int> aib(ax.size() + 12);
    auto qr = [&aib](int poz) {
        ll rez = 0;
        while (poz > 0)
            rez += aib[poz], poz -= poz & -poz;
        return rez;
    };
    auto upd = [&aib](int poz) {
        while (poz < aib.size())
            aib[poz]++, poz += poz & -poz;
    };
    ll rez = 0;
    for (int i = 0; i < ax.size(); i++)
    {
        rez += qr(ax.size() + 2) - qr(ax[i] - 1);
        upd(ax[i]);
    }
    return rez;
}
ll count_swaps(vector<int> v)
{
    int n = (int)v.size();
    unordered_map<int, int> mn, mp, dat;
    unordered_map<int, vector<int>> mm;
    vector<int> ax, rez;
    ax.reserve(n);
    for (size_t i = 0; i < v.size(); i++)
    {
        mm[v[i]].push_back(i);
        if (v[i] > 0)
        {
            if (mn[v[i]] > mp[v[i]])
                mn[v[i]]--;
            else
            {
                mp[v[i]]++;
                rez.push_back(v[i]);
            }
        }
        else
        {
            v[i] = -v[i];
            if (mp[v[i]] > mn[v[i]])
                mp[v[i]]--;
            else
            {
                mn[v[i]]++;
                rez.push_back(v[i]);
            }
            v[i] = -v[i];
        }
    }
    for (auto &i : mm)
        reverse(i.second.begin(), i.second.end());
    for (const auto &i : rez)
    {
        ax.push_back(mm[-i].back() + 1);
        ax.push_back(mm[i].back() + 1);
        mm[-i].pop_back();
        mm[i].pop_back();
    }
    return solve(ax);
}

Compilation message (stderr)

shoes.cpp:3:10: error: 'vector' was not declared in this scope
    3 | ll solve(vector<int> &ax)
      |          ^~~~~~
shoes.cpp:1:1: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
  +++ |+#include <vector>
    1 | typedef long long ll;
shoes.cpp:3:17: error: expected primary-expression before 'int'
    3 | ll solve(vector<int> &ax)
      |                 ^~~
shoes.cpp:24:16: error: 'vector' was not declared in this scope
   24 | ll count_swaps(vector<int> v)
      |                ^~~~~~
shoes.cpp:24:16: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
shoes.cpp:24:23: error: expected primary-expression before 'int'
   24 | ll count_swaps(vector<int> v)
      |                       ^~~