Submission #782528

#TimeUsernameProblemLanguageResultExecution timeMemory
782528Lyrically정렬하기 (IOI15_sorting)C++17
0 / 100
14 ms480 KiB
#include<bits/stdc++.h> using namespace std; #define pii pair<int,int> #define pb push_back #define rep(i,n) for(int i=0;i<n;i++) #define rep1(i,n) for(int i=1;i<=n;i++) int read(){int x;scanf("%d",&x);return x;} void print(int x){printf("%d\n",x);} void file(string s) { freopen((s+".in").c_str(),"r",stdin); freopen((s+".out").c_str(),"w",stdout); } const int mod=998244353; int r[200005]; int fa[200005]; bool vis[200005]; int findSwapPairs(int n,int s[],int m,int x[],int y[],int p[],int q[]) { rep(j,m){p[j]=q[j]=0;} if(is_sorted(s,s+n)){return 0;} rep(i,m) { swap(s[x[i]],s[y[i]]); rep(j,n) { //cout<<s[j]<<" "; r[j]=s[j]; fa[s[j]]=j;vis[j]=0; } //cout<<endl; int inv=n; int cur=0; bool fl=1; rep(j,n) { if(!vis[j]) { inv--; //cout<<i<<" "<<j<<endl; int now=j; while(!vis[now]) { vis[now]=1; if(cur==m){fl=0;break;} //cout<<now<<" "<<fa[now]<<endl; p[cur]=now,q[cur]=fa[now]; cur++; now=fa[now]; } if(!fl){break;} } } rep(j,n){s[j]=r[j];} rep(j,m){p[j]=q[j]=0;} if(fl&&inv<=i+1) { return i+1; } } return -1; }

Compilation message (stderr)

sorting.cpp: In function 'int read()':
sorting.cpp:7:23: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 | int read(){int x;scanf("%d",&x);return x;}
      |                  ~~~~~^~~~~~~~~
sorting.cpp: In function 'void file(std::string)':
sorting.cpp:11:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |  freopen((s+".in").c_str(),"r",stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sorting.cpp:12:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |  freopen((s+".out").c_str(),"w",stdout);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...