제출 #1356021

#제출 시각아이디문제언어결과실행 시간메모리
1356021po_rag526Arranging Shoes (IOI19_shoes)C++20
컴파일 에러
0 ms0 KiB
#include "shoes.h"
#include<bits/stdc++.h>
using namespace std;
vector<int> t;
queue<int> l[100100];
queue<int> r[100100];
int ch[200100];
int fw[200100];
int N;
void upd(int now){
    for(int i=now;i<=N-1;i+=i&-i){
        fw[i]++;
    }
}
int qry(int now){
    int ret=0;
    for(int i=now;i>=1;i-=i&-i){
        ret+=fw[i];
    }
    return ret;
}
long long count_swaps(std::vector<int> s) {
    N=s.size();
    long long ans=0;
    for(int i=0;i<s.size();i++){
        if(s[i]<0)l[abs(s[i])].push(i);
        if(s[i]>0)r[abs(s[i])].push(i);
    }
    for(int i=0;i<s.size();i++){
        if(ch[i])continue;
        ch[i]=1;
        int pos;
        if(s[i]<0){
            while(!r[abs(s[i])].empty() && ch[r[abs(s[i])].front()])r[abs(s[i])].pop();
            pos=r[abs(s[i])]
            ch[pos]=1;
            int out=qry(pos-1)-qry(i+1);
            ans+=1ll*(pos-i-1-out);
            upd(pos);
        }
        else{
            while(!l[abs(s[i])].empty() && ch[l[abs(s[i])].front()])l[abs(s[i])].pop();
            pos=l[abs(s[i])]
            ch[pos]=1;
            int out=qry(pos-1)-qry(i+1);
            ans+=1ll*(pos-i-out);
            upd(pos);
        }
    }
    return ans;
}

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

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:35:28: error: cannot convert 'std::queue<int>' to 'int' in assignment
   35 |             pos=r[abs(s[i])]
      |                 ~~~~~~~~~~~^
      |                            |
      |                            std::queue<int>
shoes.cpp:43:28: error: cannot convert 'std::queue<int>' to 'int' in assignment
   43 |             pos=l[abs(s[i])]
      |                 ~~~~~~~~~~~^
      |                            |
      |                            std::queue<int>