CSES - Datatähti 2021 loppu - Results
Submission details
Task:Järjestäminen
Sender:Juho
Submission time:2021-01-23 18:37:51 +0200
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.01 s1, 2details
#2--2details
#3--1, 2details
#4--1, 2details

Code

#include <bits/stdc++.h>
using namespace std;
int n, t, luku, muisti;
bool totuus;
int sijainnit[101];
int sisallot[101];
int main() {
cin>>t;
for(int sj=0;sj<t;sj++){
cin>>n;
for(int i=1;i<=n;i++){
cin>>luku;
sisallot[i]=luku;
sijainnit[luku]=i;
}
muisti=1;
while(muisti<n-3){
if(sijainnit[muisti]==muisti){
muisti++;
}else if(sijainnit[muisti]==n){
swap(sisallot[n], sisallot[n-2]);
swap(sisallot[n-1], sisallot[n-3]);
sijainnit[sisallot[n]]=n;
sijainnit[sisallot[n-1]]=n-1;
sijainnit[sisallot[n-2]]=n-2;
sijainnit[sisallot[n-3]]=n-3;
}else if(sijainnit[muisti]==muisti+1){
swap(sisallot[muisti+1], sisallot[muisti+3]);
swap(sisallot[muisti+2], sisallot[muisti+4]);
sijainnit[sisallot[muisti+1]]=muisti+1;
sijainnit[sisallot[muisti+2]]=muisti+2;
sijainnit[sisallot[muisti+3]]=muisti+3;
sijainnit[sisallot[muisti+4]]=muisti+4;
}else{
swap(sijainnit[muisti],sijainnit[sisallot[muisti]]);
swap(sijainnit[sisallot[sijainnit[muisti]+1]], sijainnit[sisallot[muisti+1]]);
sisallot[sijainnit[muisti]]=muisti;
sisallot[sijainnit[sisallot[muisti]]]=sisallot[muisti];
sisallot[sijainnit[sisallot[sijainnit[muisti]+1]]]=sisallot[sijainnit[muisti]+1];
sisallot[sijainnit[sisallot[muisti+1]]]=sisallot[muisti+1];
muisti++;
}
}
if(n>3){
if(sijainnit[n-3]==n||sijainnit[n-3]==n-2){
cout<<"NO";
}else if(sijainnit[n-3]==n-3){
if(sijainnit[n-2]==n-2&&sijainnit[n-1]==n-1){
cout<<"YES";
}else{
cout<<"NO";
}
}else{
if(sijainnit[n]==n-2&&sijainnit[n-2]==n){
cout<<"YES";
}else{
cout<<"NO";
}
}
}else{
totuus = true;
for(int i=1;i<=n;i++){
if(sisallot[i]!=i){
totuus = false;
}
}
if(totuus){
cout<<"YES";
}else{
cout<<"NO";
}
}
}
}

Test details

Test 1

Group: 1, 2

Verdict:

input
153
1
1
2
1 2
...

correct output
YES
YES
NO
NO
NO
...

user output
YESYESNONONONONONONONONONONONO...
Truncated

Test 2

Group: 2

Verdict:

input
1000
59
35 29 32 50 11 15 9 21 19 45 2...

correct output
YES
NO
YES
NO
YES
...

user output
(empty)

Test 3

Group: 1, 2

Verdict:

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
(empty)

Test 4

Group: 1, 2

Verdict:

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
(empty)