Submission #1308714

#TimeUsernameProblemLanguageResultExecution timeMemory
1308714paulllol정렬하기 (IOI15_sorting)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; int n,t1,t2,m,l,mid,r,temp,x,y,turn,val,cnt; vector<int> v; vector<pair<int,int>> s; bool vs[200000]; void loop(int i){ vs[i]=1; cnt+=1; if(vs[v[i]]==0){ loop(v[i]); } } int main() { cin.tie(NULL)->sync_with_stdio(false); freopen("sorting.in", "r", stdin); freopen("sorting.out", "w", stdout); cin>>n; for (int i=0;i<n;i++) { cin>>t1; v.emplace_back(t1); } cin>>m; for (int i=0;i<m;i++) { cin>>t1>>t2; s.emplace_back(make_pair(t1,t2)); } r=m; temp=0; while(l!=r){ val=0; memset(vs,0,sizeof(vs)); mid=(l+r)/2; if(mid<temp){ for(int i=mid+1;i>temp;i--){ x=s[i].first; y=s[i].second; if(x!=y){ v[x]^=v[y]; v[y]^=v[x]; v[x]^=v[y]; } } } else{ for(int i=temp;i<=mid;i++){ x=s[i].first; y=s[i].second; if(x!=y){ v[x]^=v[y]; v[y]^=v[x]; v[x]^=v[y]; } } } temp=mid; for(int i=0;i<n;i++){ if(vs[i]==0){ if(i!=v[i]){ vs[i]=1; cnt=0; loop(v[i]); val+=cnt; } } } if(val>mid){ l=mid+1; } else{ r=mid; } } cout<<l; }

Compilation message (stderr)

sorting.cpp: In function 'int main()':
sorting.cpp:16:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     freopen("sorting.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
sorting.cpp:17:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |     freopen("sorting.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccUH2TZD.o: in function `main':
grader.c:(.text.startup+0x0): multiple definition of `main'; /tmp/ccqOY5EP.o:sorting.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccUH2TZD.o: in function `main':
grader.c:(.text.startup+0x3b1): undefined reference to `findSwapPairs(int, int*, int, int*, int*, int*, int*)'
collect2: error: ld returned 1 exit status