제출 #376629

#제출 시각아이디문제언어결과실행 시간메모리
376629beingsebiArranging Shoes (IOI19_shoes)C++17
0 / 100
1 ms492 KiB
#include <bits/stdc++.h>

typedef long long ll;
using namespace std;
ll solve(vector<int> &ax)
{
    vector<int> aib(ax.size() + 10);
    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() - 1) - qr(ax[i] - 1);
        upd(ax[i]);
    }
    return rez;
}
ll count_swaps(vector<int> v)
{
    int n = (int)v.size();
    unordered_map<int, vector<int>> ma;
    vector<int> ax(n);
    for (size_t i = 0; i < v.size(); i += 2)
        ma[-abs(v[i])].push_back(i + 1),
            ma[abs(v[i])].push_back(i + 2);
    for (auto &i : ma)
        reverse(i.second.begin(), i.second.end());
    for (int i = 0; i < n; i++)
        ax[i] = ma[v[i]].back(), ma[v[i]].pop_back();
    return solve(ax);
}

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

shoes.cpp: In lambda function:
shoes.cpp:15:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |         while (poz < aib.size())
      |                ~~~~^~~~~~~~~~~~
shoes.cpp: In function 'll solve(std::vector<int>&)':
shoes.cpp:19:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for (int i = 0; i < ax.size(); i++)
      |                     ~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...