# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
621120 | Bench0310 | Sorting (IOI15_sorting) | C++17 | 2 ms | 468 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 <bits/stdc++.h>
#include "sorting.h"
using namespace std;
typedef long long ll;
int findSwapPairs(int n,int s[],int m,int x[],int y[],int p[],int q[])
{
auto solve=[&](int mv)->vector<array<int,2>>
{
vector<int> f(n,-1);
for(int i=0;i<n;i++) f[i]=s[i];
for(int i=0;i<mv;i++) swap(f[x[i]],f[y[i]]);
vector<bool> vis(n,0);
vector<array<int,2>> v;
for(int i=0;i<n;i++)
{
if(vis[i]) continue;
int a=i;
while(!vis[a])
{
vis[a]=1;
if(!vis[f[a]]) v.push_back({a,f[a]});
a=f[a];
}
}
int sz=v.size();
if(sz<=mv)
{
f.assign(n,-1);
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... |