Submission #1047442

#TimeUsernameProblemLanguageResultExecution timeMemory
1047442vjudge1Arranging Shoes (IOI19_shoes)C++17
Compilation error
0 ms0 KiB
#pragma GCC optimize("unroll-loops,Ofast,O3")
#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define spc << " " <<
#define endl "\n"
#define all(x) x.begin(), x.end()
#define int long long
#define ii pair<long long,int>
#define vi vector<int>
#define vii vector<ii>
#define st first
#define nd second
#define mid (l+r)/2
#define inf 1e15
#define MOD 1000000007
#define MX 300005
using namespace std;


int count_swaps(int32_t S[]){
    int n=1;
    int arr[2*n+1];
    for(int i=0; i<2*n; i++) arr[i+1]=S[i];
    map<int, vi> heh;
    for(int i=1; i<=2*n; i++){
        heh[arr[i]].pb(i);
    }
    queue<int> cnt[2*n+1];
    int wow=0;
    set<int> s;
    for(int i=1; i<=2*n; i++){
        if(cnt[n-arr[i]].size()){
            wow+=s.size()-distance(s.begin(), s.upper_bound(cnt[n-arr[i]].front()));
            s.erase(cnt[n-arr[i]].front());
            cnt[n-arr[i]].pop();
            continue;
        }
        s.insert(i);
        cnt[n+arr[i]].push(i);
    }
    int ans=0;
    for(auto p:heh){
        if(p.st>=0) break;
        for(int i=0; i<p.nd.size(); i++){
            ans+=abs(heh[-p.st][i] - p.nd[i]) - 1;
            if(heh[-p.st][i]<p.nd[i]) ans++;
        }
    }
    return ans-wow;
}

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(int32_t*)':
shoes.cpp:45:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |         for(int i=0; i<p.nd.size(); i++){
      |                      ~^~~~~~~~~~~~
/usr/bin/ld: /tmp/ccAvnkZQ.o: in function `main':
grader.cpp:(.text.startup+0x2a8): undefined reference to `count_swaps(std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status