# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
135360 | tinjyu | Sorting (IOI15_sorting) | C++14 | 333 ms | 14584 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "sorting.h"
#include <iostream>
using namespace std;
int findSwapPairs(int n, int s[], int m, int x[], int y[], int P[], int Q[]) {
int num[50005];
for(int i=0;i<n;i++)
{
num[i]=i;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)
{
if(s[i]<s[j])
{
swap(num[i],num[j]);
swap(s[i],s[j]);
}
}
}
int r=0,t;
for(int i=0;i<n;i++)s[num[i]]=i;
//for(int i=0;i<n;i++)cout<<s[i]<<" ";
//cout<<endl;
for(int i=0;i<n;i++)if(s[i]==0)t=i;
if(t==1)
{
P[r]=0;
Q[r]=0;
r++;
}
else
if(t!=0)
{
swap(s[0],s[1]);
swap(s[0],s[t]);
P[r]=0;
Q[r]=t;
r++;
}
//for(int i=0;i<n;i++)cout<<s[i]<<" ";
//cout<<endl;
for(int i=0;i<n;i++)if(s[i]==1)t=i;
if(t==0)
{
P[r]=0;
Q[r]=1;
r++;
}
else
if(t!=1)
{
swap(s[0],s[1]);
swap(s[0],s[t]);
P[r]=0;
Q[r]=t;
r++;
}
//for(int i=0;i<n;i++)cout<<s[i]<<" ";
//cout<<endl;
for(int i=2;i<n;i++)
{
t=0;
for(int j=0;j<n;j++)if(s[j]==i)
{
t=j;
break;
}
//cout<<i<<" "<<t<<endl;
if(i==t)
{
continue;
}
for(int i=0;i<n;i++)cout<<s[i]<<" ";
//cout<<endl;
swap(s[0],s[1]);
swap(s[i],s[t]);
P[r]=i;
Q[r]=t;
r++;
//cout<<endl;
}if(s[0]==1)
{
r++;
}
return r;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |