Submission #155982

#TimeUsernameProblemLanguageResultExecution timeMemory
155982giorgikobArranging Shoes (IOI19_shoes)C++14
Compilation error
0 ms0 KiB
#include "shoes.h" int n,ans,r,pos; vector<int>locl[500001],locr[500001],indl[500001],indr[500001]; int tree[500001]; void upd(int node,int tl,int tr){ if(tl==tr){ tree[node] = 1; return; } int mid = (tl+tr)/2; if(pos<mid) upd(node*2,tl,mid); else upd(node*2+1,mid+1,tr); tree[node] = tree[node*2] + tree[node*2+1]; } int get(int node,int tl,int tr){ if(r<tl)return 0; if(tr<=tr)return tree[node]; int mid = (tr+tl)/2; int x = get(node*2,tl,mid); int y = get(node*2+1,mid+1,tr); return x+y; } long long count_swaps(std::vector<int> s) { n = s.size()/2; for(int i=0;i<s.size();i++){ if(s[i]<0){ locl[-s[i]] = i; } else { locr[s[i]] = i; } } for(int i=0;i<s.size();i++){ if(s[i]<0){ int loc = locr[ s[i] ][ indr[ s[i] ] ]; r = loc; ans += loc - i - get(1,0,s.size()-1); indr[ s[i] ] ++; pos = loc; upd(1,0,s.size()-1); } else { int loc = locl[ s[i] ][ indl[ s[i] ] ]; r = loc; ans += loc - i + 1 - get(1,0,s.size()-1); indl[ s[i] ] ++; pos = loc; upd(1,0,s.size()-1); } } return ans; }

Compilation message (stderr)

shoes.cpp:5:1: error: 'vector' does not name a type
 vector<int>locl[500001],locr[500001],indl[500001],indr[500001];
 ^~~~~~
shoes.cpp: In function 'int get(int, int, int)':
shoes.cpp:30:7: warning: self-comparison always evaluates to true [-Wtautological-compare]
  if(tr<=tr)return tree[node];
     ~~^~~~
shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:44:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<s.size();i++){
              ~^~~~~~~~~
shoes.cpp:46:4: error: 'locl' was not declared in this scope
    locl[-s[i]] = i;
    ^~~~
shoes.cpp:46:4: note: suggested alternative: 'bool'
    locl[-s[i]] = i;
    ^~~~
    bool
shoes.cpp:48:4: error: 'locr' was not declared in this scope
    locr[s[i]] = i;
    ^~~~
shoes.cpp:48:4: note: suggested alternative: 'long'
    locr[s[i]] = i;
    ^~~~
    long
shoes.cpp:52:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<s.size();i++){
              ~^~~~~~~~~
shoes.cpp:54:14: error: 'locr' was not declared in this scope
    int loc = locr[ s[i] ][ indr[ s[i] ] ];
              ^~~~
shoes.cpp:54:14: note: suggested alternative: 'loc'
    int loc = locr[ s[i] ][ indr[ s[i] ] ];
              ^~~~
              loc
shoes.cpp:54:28: error: 'indr' was not declared in this scope
    int loc = locr[ s[i] ][ indr[ s[i] ] ];
                            ^~~~
shoes.cpp:54:28: note: suggested alternative: 'int'
    int loc = locr[ s[i] ][ indr[ s[i] ] ];
                            ^~~~
                            int
shoes.cpp:62:14: error: 'locl' was not declared in this scope
    int loc = locl[ s[i] ][ indl[ s[i] ] ];
              ^~~~
shoes.cpp:62:14: note: suggested alternative: 'loc'
    int loc = locl[ s[i] ][ indl[ s[i] ] ];
              ^~~~
              loc
shoes.cpp:62:28: error: 'indl' was not declared in this scope
    int loc = locl[ s[i] ][ indl[ s[i] ] ];
                            ^~~~
shoes.cpp:62:28: note: suggested alternative: 'int'
    int loc = locl[ s[i] ][ indl[ s[i] ] ];
                            ^~~~
                            int