제출 #302587

#제출 시각아이디문제언어결과실행 시간메모리
302587AmineTrabelsiArranging Shoes (IOI19_shoes)C++14
컴파일 에러
0 ms0 KiB
using namespace std; typedef long long ll; #define ff first #define ss second #define em emplace_back #define mp make_pair typedef pair<int,int> ii; const int M = 1e5 + 10; int tree[M*2]; int x; void add(int k,int n){ while(k <= x){ tree[k] += n; k += k& - k; } } int sum(int i){ int res = 0; while(i >= 1){ res += tree[i]; i -= i& - i; } return res; } vector<ii> ord[M]; ll count_swaps(std::vector<int> s){ ll res = 0; x = s.size(); int n = x/2; for(int i=0;i<x;i++){ ord[abs(s[i])].em(mp(s[i],i)); } vector<ii> v; for(int i=1;i<=n;i++){ sort(ord[i].begin(),ord[i].end()); for(int j=0;j<ord[i].size()/2;j++){ int f = ord[i][j].second, s = ord[i][j+(ord[i].size()/2)].second; if(f > s){ swap(f,s); res++; } v.em(mp(f+1,s+1)); } } //cout << res << endl; sort(v.begin(),v.end()); //for(auto i:v)cout << i.ff << " " << i.ss << endl; for(int i=1;i<=n*2;i++)add(i,1); for(auto i:v){ res += sum(i.ss-1)-sum(i.ff); add(i.ss,-1); add(i.ff,-1); } return res; }

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

shoes.cpp:7:9: error: 'pair' does not name a type
    7 | typedef pair<int,int> ii;
      |         ^~~~
shoes.cpp:25:1: error: 'vector' does not name a type
   25 | vector<ii> ord[M];
      | ^~~~~~
shoes.cpp:26:21: error: 'vector' is not a member of 'std'
   26 | ll count_swaps(std::vector<int> s){
      |                     ^~~~~~
shoes.cpp:1:1: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
  +++ |+#include <vector>
    1 | using namespace std;
shoes.cpp:26:28: error: expected primary-expression before 'int'
   26 | ll count_swaps(std::vector<int> s){
      |                            ^~~