제출 #971806

#제출 시각아이디문제언어결과실행 시간메모리
971806androArranging Shoes (IOI19_shoes)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> //#include "shoes.h" using namespace std; const int N = 1e5 + 5; struct fenw { int t[N] = {0}; int query(int i) { int ans = 0; for(; i > 0; i -= i & - i) { ans += t[i]; } return ans; } void update(int i, int v) { for(; i < N; i += i & - i) { t[i] += v; } } }fenw; long long count_swaps(std::vector<int> s) { int n = s.size(); vector<int> a(n + 1); for(int i = 1; i <= n; i++) { a[i] = s[i - 1]; } map<int,int> M, M1; for(int i = 1; i <= n; i++) { if(a[i] > 0) { M[a[i]] += 1; } else { M1[a[i]] += 1; } } for(int i = 1; i <= n; i++) { if(a[i] > 0) { if(M[a[i]] != M1[-a[i]]) { return - 1; } } } map<int,set<int>> ms; for(int i = 1; i <= n; i++) { ms[a[i]].insert(i); } vector<int> izracunao(n + 1, 0); int ans = 0; for(int i = 1; i <= n; i++) { if(izracunao[i]) { continue; } auto it = ms[-a[i]].upper_bound(i); if(it == ms[-a[i]].end()) { continue; } int idx = *it; if(a[i] > 0) { //cout << 1 << " " << i << " " << idx << "\n"; ans += (idx + fenw.query(idx)) - (i + fenw.query(i)); fenw.update(i, 1); fenw.update(idx, - 1); } else { //cout << 2 << " " << i << " " << idx << "\n"; ans += (idx + fenw.query(idx)) - (i + fenw.query(i)) - 1; fenw.update(i, 1); fenw.update(idx, - 1); } izracunao[idx] = 1; } return ans; } int main() { cout << count_swaps({- 2, 2, 2, - 2, - 2, 2}); }

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

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