제출 #1311432

#제출 시각아이디문제언어결과실행 시간메모리
1311432putuputuArranging Shoes (IOI19_shoes)C++20
컴파일 에러
0 ms0 KiB
#include "shoes.h"
#include <bits/stdc++.h>
using namespace std;
long long count_swaps(vector<int>a){
    long long m=a.size();
    long long s=0;
    long long n=m/2;
    //bool ok=true;
    long long cnt=0;
    for(int i=0; i<n; i++){
      if(!(a[i]<0 && abs(a[i])==a[i+n] && a[i+n]>0)){
        cnt++;
      }
        // if(a[i]!=a[i+n]){
        //     ok=false;
        // }
    }
    if(cnt==0){
        return(n*(n-1)/2);
    }
    bool kk=true;
    int g=abs(a[0]);
    for(int i=0; i<m; i++){
        if(abs(a[i])!=g){
            kk=false;
        }
    }
    if(kk==true){
        vector<int> lp;
        lp.reserve(n);
        for(int i=0; i<m; i++){
            if(a[i]<0){
                lp.push_back(i);
            } 
        } 
        long long sw=0;
        for(int k=0; k<n; k++){
        sw+=(long long(abs(lp[k]-(2*k))));
        }
        return sw;
    }
    for(int pos=0; pos<m; pos+=2){
        if(a[pos]>0){
            int nl=-a[pos]; 
            int j=pos+1;
            while(j<m and a[j]!=nl){
               j++; 
            } 
            while(j>pos){
                swap(a[j], a[j-1]);
                j--;
                s++;
            }
        }
        int nr=-a[pos];
        int j=pos+1;
        while(j<m and a[j]!=nr){
            j++;
        } 
        while(j>pos+1){
            swap(a[j], a[j-1]);
            j--;
            s++;
        }
    }
    return s;
    
}

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

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:38:14: error: expected primary-expression before 'long'
   38 |         sw+=(long long(abs(lp[k]-(2*k))));
      |              ^~~~
shoes.cpp:38:14: error: expected ')' before 'long'
   38 |         sw+=(long long(abs(lp[k]-(2*k))));
      |             ~^~~~
      |              )