제출 #227764

#제출 시각아이디문제언어결과실행 시간메모리
227764Romario8Arranging Shoes (IOI19_shoes)C++17
컴파일 에러
0 ms0 KiB
#include "shoes.h" #include<bits/stdc++.h> #define ll long long #define rep(i,a,b) for(ll i=a;i<b;i++) #define rrep(i,a,b) for(ll i=a;i>=b;i--) #define pb push_back #define rl "\n" #define x first #define y second using namespace std; int BIT[200001]; ll sum(int i) { ll res=0; while(i>0) { res+=BIT[i]; i-=i&-i; } return res; } void update(int i,ll n,int val) { while(i<=n) { BIT[i]+=val; i+=i&-i; } } long long count_swaps(vector<ll> s) { ll ans=0; ll n=s.size(); vector<vector<ll>> pr(2*n+1); ll k=0; rep(i,0,n) { pr[s[i]+n/2].pb(i+1); } vector<pair<int,int>> u; rep(i,1,n+1) { rep(j,0,pr[i+n/2].size()) { u.pb(make_pair(min(pr[i+n/2][j],pr[-i+n/2][j]),max(pr[i+n/2][j],pr[-i+n/2][j]))); if(pr[i+n/2][j]<pr[-i+n/2][j])ans++; } } sort(u.begin(),u.end()); rep(i,0,u.size()) { int l=u[i].x; int r=u[i].y; ans+=r-l-1-(sum(l)-sum(r)); update(l+1,n,1); update(r,n,-1); } return ans; }

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

shoes.cpp: In function 'long long int count_swaps(std::vector<long long int>)':
shoes.cpp:4:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define rep(i,a,b) for(ll i=a;i<b;i++)
shoes.cpp:43:10:
      rep(j,0,pr[i+n/2].size())
          ~~~~~~~~~~~~~~~~~~~~   
shoes.cpp:43:6: note: in expansion of macro 'rep'
      rep(j,0,pr[i+n/2].size())
      ^~~
shoes.cpp:4:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define rep(i,a,b) for(ll i=a;i<b;i++)
shoes.cpp:50:6:
  rep(i,0,u.size())
      ~~~~~~~~~~~~               
shoes.cpp:50:2: note: in expansion of macro 'rep'
  rep(i,0,u.size())
  ^~~
shoes.cpp:35:8: warning: unused variable 'k' [-Wunused-variable]
     ll k=0;
        ^
/tmp/ccGTCPxo.o: In function `main':
grader.cpp:(.text.startup+0x282): undefined reference to `count_swaps(std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status