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); } else swapper(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 |