제출 #948017

#제출 시각아이디문제언어결과실행 시간메모리
948017studyArranging Shoes (IOI19_shoes)C++17
70 / 100
62 ms11348 KiB
#include "shoes.h"
#include <bits/stdc++.h>
using namespace std;

long long count_swaps(vector<int> s) {
        set<int> st;
        for (int i:s){
                st.emplace(i);
        }
        if (st.size() == 2){
                long long crt = 0, ans = 0;
                for (int i=0; i<s.size(); ++i){
                        if (s[i] < 0){
                                ans += abs(crt-i);
                                crt += 2;
                        }
                }
                return ans;
        }
        if (s.size() > 2000){
                long long ans = (long long)s.size()*(s.size()/2-1)/2;
                return ans;
        }
        int cnt=0, n = s.size();
        for (int i=0; i<n; i += 2){
                int idx = 0;
                for (int j=i+1; j<n; ++j){
                        if (s[i] == -s[j]){
                                idx = j;
                                break;
                        }
                }
                for (int j=idx; j>=i+2; --j){
                        swap(s[j],s[j-1]);
                        ++cnt;
                }
                if (s[i] > 0){
                        ++cnt;
                }
        }
        return cnt;
}

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

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:12:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |                 for (int i=0; i<s.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...