Submission #155330

#TimeUsernameProblemLanguageResultExecution timeMemory
155330Sasuke0004Arranging Shoes (IOI19_shoes)C++17
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #define f first #define s second #define mp make_pair #define ll long long #define pb push_back #define left 2*h,l,(l+r)/2,L,R #define right 2*h+1,(l+r)/2+1,r,L,R #define tree int h,int l,int r,int L,int R using namespace std; ll sg[2000006],fx[2000006],n,ans; vector<int>v[2000006],x; void upd(tree) { if(l>r)return; if(l>R)return; if(L>r)return; if(l==r) { sg[h]=sg[h]^(1); return; } sg[h]=sg[2*h]+sg[2*h+1]; } ll get(tree) { if(l>r)return 0; if(l>R)return 0; if(L>r)return 0; if(l>=L && r<=R)return sg[h]; else return get(left)+get(right); } int64_t count_swaps(vector<int> x) { n=x.size(); for(int i=0;i<n;i++) { v[n+x[i]].pb(i); } for(int i=0;i<n;i++) { for(int j=0;j<int(v[i].size());j++) { if(v[i][j]>v[i+n][j]){ans++;swap(v[i][j],v[i+n][j]);} fx[v[i][j]]=v[i+n][j]; } } for(int i=0;i<n;i++) { upd(1,0,n-1,i,i); } for(int i=0;i<n;i++) { ans+=get(1,0,n-1,i,fx[i]); upd(1,0,n-1,fx[i],fx[i]); } return ans; } #include<bits/stdc++.h> #define f first #define s second #define mp make_pair #define ll long long #define pb push_back #define left 2*h,l,(l+r)/2,L,R #define right 2*h+1,(l+r)/2+1,r,L,R #define tree int h,int l,int r,int L,int R using namespace std; ll sg[2000006],fx[2000006],n,ans; vector<int>v[2000006],x; void upd(tree) { if(l>r)return; if(l>R)return; if(L>r)return; if(l==r) { sg[h]=sg[h]^(1); return; } sg[h]=sg[2*h]+sg[2*h+1]; } ll get(tree) { if(l>r)return 0; if(l>R)return 0; if(L>r)return 0; if(l>=L && r<=R)return sg[h]; else return get(left)+get(right); } int64_t count_swaps(vector<int> x) { n=x.size(); for(int i=0;i<n;i++) { v[n+x[i]].pb(i); } for(int i=0;i<n;i++) { for(int j=0;j<int(v[i].size());j++) { if(v[i][j]>v[i+n][j]){ans++;swap(v[i][j],v[i+n][j]);} fx[v[i][j]]=v[i+n][j]; } } for(int i=0;i<n;i++) { upd(1,0,n-1,i,i); } for(int i=0;i<n;i++) { ans+=get(1,0,n-1,i,fx[i]); upd(1,0,n-1,fx[i],fx[i]); } return ans; }

Compilation message (stderr)

shoes.cpp:69:14: error: redefinition of 'long long int sg [2000006]'
 ll sg[2000006],fx[2000006],n,ans;
              ^
shoes.cpp:11:4: note: 'long long int sg [2000006]' previously declared here
 ll sg[2000006],fx[2000006],n,ans;
    ^~
shoes.cpp:69:26: error: redefinition of 'long long int fx [2000006]'
 ll sg[2000006],fx[2000006],n,ans;
                          ^
shoes.cpp:11:16: note: 'long long int fx [2000006]' previously declared here
 ll sg[2000006],fx[2000006],n,ans;
                ^~
shoes.cpp:69:28: error: redefinition of 'long long int n'
 ll sg[2000006],fx[2000006],n,ans;
                            ^
shoes.cpp:11:28: note: 'long long int n' previously declared here
 ll sg[2000006],fx[2000006],n,ans;
                            ^
shoes.cpp:69:30: error: redefinition of 'long long int ans'
 ll sg[2000006],fx[2000006],n,ans;
                              ^~~
shoes.cpp:11:30: note: 'long long int ans' previously declared here
 ll sg[2000006],fx[2000006],n,ans;
                              ^~~
shoes.cpp:70:21: error: redefinition of 'std::vector<int> v [2000006]'
 vector<int>v[2000006],x;
                     ^
shoes.cpp:12:12: note: 'std::vector<int> v [2000006]' previously declared here
 vector<int>v[2000006],x;
            ^
shoes.cpp:70:23: error: redefinition of 'std::vector<int> x'
 vector<int>v[2000006],x;
                       ^
shoes.cpp:12:23: note: 'std::vector<int> x' previously declared here
 vector<int>v[2000006],x;
                       ^
shoes.cpp: In function 'void upd(int, int, int, int, int)':
shoes.cpp:71:6: error: redefinition of 'void upd(int, int, int, int, int)'
 void upd(tree)
      ^~~
shoes.cpp:13:6: note: 'void upd(int, int, int, int, int)' previously defined here
 void upd(tree)
      ^~~
shoes.cpp: In function 'long long int get(int, int, int, int, int)':
shoes.cpp:83:4: error: redefinition of 'long long int get(int, int, int, int, int)'
 ll get(tree)
    ^~~
shoes.cpp:25:4: note: 'long long int get(int, int, int, int, int)' previously defined here
 ll get(tree)
    ^~~
shoes.cpp: In function 'int64_t count_swaps(std::vector<int>)':
shoes.cpp:91:9: error: redefinition of 'int64_t count_swaps(std::vector<int>)'
 int64_t count_swaps(vector<int> x)
         ^~~~~~~~~~~
shoes.cpp:33:9: note: 'int64_t count_swaps(std::vector<int>)' previously defined here
 int64_t count_swaps(vector<int> x)
         ^~~~~~~~~~~