Task: | Sorting |
Sender: | ScarletS |
Submission time: | 2021-01-30 20:50:16 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | WRONG ANSWER | 0.01 s | 1, 2 | details |
#2 | WRONG ANSWER | 0.01 s | 2 | details |
#3 | WRONG ANSWER | 0.01 s | 1, 2 | details |
#4 | WRONG ANSWER | 0.01 s | 1, 2 | details |
Code
#include <bits/stdc++.h>#define ll long long#define sz(x) (int)(x).size()using namespace std;int n,a[101],b[101];void swapper(int x, int y){//cout<<x<<" "<<y<<"\n";swap(a[x],a[y]);swap(a[x+1],a[y+1]);b[a[x]]=x;b[a[y]]=y;b[a[x+1]]=x+1;b[a[y+1]]=y+1;//for (int i=1;i<=n;++i)// cout<<a[i]<<" ";//cout<<"\n";}void solve(){cin>>n;for (int i=1;i<=n;++i){cin>>a[i];b[a[i]]=i;}for (int i=1;i<=n;++i){if (a[i]==i)continue;if (n-i+1<4){cout<<"NO\n";return;}if (b[i]==i+1){if (n-i+1<=4){cout<<"NO\n";return;}swapper(i,i+2);}if (b[i]==n){if (n-i+1<=4){cout<<"NO\n";return;}swapper(n-3,n-1);}elseswapper(i,b[i]);}cout<<"YES\n";}int main(){ios_base::sync_with_stdio(0); cin.tie(0);int n;cin>>n;while (n--)solve();return 0;}
Test details
Test 1
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
153 1 1 2 1 2 ... |
correct output |
---|
YES YES NO NO NO ... |
user output |
---|
YES YES NO NO NO ... Truncated |
Test 2
Group: 2
Verdict: WRONG ANSWER
input |
---|
1000 59 35 29 32 50 11 15 9 21 19 45 2... |
correct output |
---|
YES NO YES NO YES ... |
user output |
---|
NO NO NO NO NO ... Truncated |
Test 3
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
720 6 1 6 4 5 2 3 6 6 3 2 1 5 4 ... |
correct output |
---|
YES NO NO NO YES ... |
user output |
---|
NO NO NO NO NO ... Truncated |
Test 4
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
1000 8 7 4 2 8 6 3 5 1 8 3 8 2 7 5 4 6 1 ... |
correct output |
---|
NO NO YES NO YES ... |
user output |
---|
NO NO NO NO NO ... Truncated |