제출 #1364850

#제출 시각아이디문제언어결과실행 시간메모리
1364850nataliaaArranging Shoes (IOI19_shoes)C++20
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>
#include "shoes.h"
using namespace std;
const int MAXN = 200005;

long long ok[MAXN] = {};
void upd(int idx, int val){
    idx++;
    while(idx<=MAXN){
        ok[idx]+=val;
        idx+=idx&(-idx);
    }
}

long long get(int idx){
    idx++;
    long long s= 0;
    while(idx>0){
        s+=ok[idx];
        idx-=idx&(-idx);
    }
    return s;
}
long long count_swaps(vector<int> v) {
    long long ans = 0;
    queue<int> p[MAXN][2]={};
    for(int i = 0; i < v.size(); i++){
        if(v[i]<0) p[-v[i]][0].push(i);
        else{ p[v[i]][1].push(i);}
    }
    int es[2*MAXN] = {};
    for(long long i = 0; i < v.size(); i++){
        if(es[i]) continue;
        int ratovervweramamocanas = 1;
        if(v[i]<0) ratovervweramamocanas = 0;
        long long j = p[abs(v[i])][1-ratovervweramamocanas].front();
        p[abs(v[i])][0].pop();
        p[abs(v[i])][1].pop();
        ans+=j - i - 1;
        ans-=(get(j)-get(i));
        es[j] = 1;
        upd(j, 1);
        if(v[i]>0) ans++;
    }
    return ans;
}
int main() {
	int n;
	assert(1 == scanf("%d", &n));
	vector<int> S(2 * n);
	for (int i = 0; i < 2 * n; i++)
		assert(1 == scanf("%d", &S[i]));
	fclose(stdin);

	long long result = count_swaps(S);

	printf("%lld\n", result);
	fclose(stdout);
	return 0;
}

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

/usr/bin/ld: /tmp/cci2Qy3Y.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc9hKzBa.o:shoes.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status