제출 #1047396

#제출 시각아이디문제언어결과실행 시간메모리
1047396vjudge1Arranging Shoes (IOI19_shoes)C++17
컴파일 에러
0 ms0 KiB
#pragma GCC optimize("unroll-loops,Ofast,O3") #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define spc << " " << #define endl "\n" #define all(x) x.begin(), x.end() #define int long long #define ii pair<long long,int> #define vi vector<int> #define vii vector<ii> #define st first #define nd second #define mid (l+r)/2 #define inf 1e15 #define MOD 1000000007 #define MX 300005 using namespace std; int count_swaps(int S[]){ int n=sizeof(S)/sizeof(*S); cerr << n << endl; n/=2; int arr[2*n+1]; for(int i=0; i<2*n; i++) arr[i+1]=S[i]; map<int, vi> heh; for(int i=1; i<=2*n; i++){ heh[arr[i]].pb(i); } queue<int> cnt[2*n+1]; int wow=0; set<int> s; for(int i=1; i<=2*n; i++){ if(cnt[n-arr[i]].size()){ wow+=s.size()-distance(s.begin(), s.upper_bound(cnt[n-arr[i]].front())); s.erase(cnt[n-arr[i]].front()); cnt[n-arr[i]].pop(); continue; } s.insert(i); cnt[n+arr[i]].push(i); } int ans=0; for(auto p:heh){ if(p.st>=0) break; for(int i=0; i<p.nd.size(); i++){ ans+=abs(heh[-p.st][i] - p.nd[i]) - 1; if(heh[-p.st][i]<p.nd[i]) ans++; } } return ans-wow; } signed main(){ ios_base::sync_with_stdio(false);cin.tie(0); }

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

shoes.cpp: In function 'long long int count_swaps(long long int*)':
shoes.cpp:22:18: warning: 'sizeof' on array function parameter 'S' will return size of 'long long int*' [-Wsizeof-array-argument]
   22 |     int n=sizeof(S)/sizeof(*S);
      |                 ~^~
shoes.cpp:21:21: note: declared here
   21 | int count_swaps(int S[]){
      |                     ^
shoes.cpp:47:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |         for(int i=0; i<p.nd.size(); i++){
      |                      ~^~~~~~~~~~~~
/usr/bin/ld: /tmp/ccYil1rQ.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccXAfv0M.o:shoes.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccYil1rQ.o: in function `main':
grader.cpp:(.text.startup+0x2a8): undefined reference to `count_swaps(std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status