Submission #312202

#TimeUsernameProblemLanguageResultExecution timeMemory
312202tjdgus4384Arranging Shoes (IOI19_shoes)C++14
50 / 100
1104 ms138232 KiB
#include<bits/stdc++.h>
using namespace std;
deque<int> vp[100001], vm[100001], v, v2;

long long count_swaps(vector<int> S){
    for(int i = 0;i < S.size();i++){
        if(S[i] < 0){
            if(vp[-S[i]].empty()) vm[-S[i]].push_back(i);
            else{
                v.push_back(i);
                v.push_back(vp[-S[i]].front());
                vp[-S[i]].pop_front();
            }
        }
        if(S[i] > 0){
            if(vm[S[i]].empty()) vp[S[i]].push_back(i);
            else{
                v.push_back(vm[S[i]].front());
                v.push_back(i);
                vm[S[i]].pop_front();
            }
        }
    }
    long long ans = 0;
    for(int i = 0;i < v.size();i++) v2.push_back(v[i]);
    for(int i = 0;i < v2.size();i++){
        for(int j = 1;j < v2.size();j++){
            if(v2[j] < v2[j - 1]){
                swap(v2[j], v2[j-1]); ans++;
            }
        }
    }
    return ans;
}

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:6:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 |     for(int i = 0;i < S.size();i++){
      |                   ~~^~~~~~~~~~
shoes.cpp:25:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |     for(int i = 0;i < v.size();i++) v2.push_back(v[i]);
      |                   ~~^~~~~~~~~~
shoes.cpp:26:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |     for(int i = 0;i < v2.size();i++){
      |                   ~~^~~~~~~~~~~
shoes.cpp:27:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |         for(int j = 1;j < v2.size();j++){
      |                       ~~^~~~~~~~~~~
#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...