CSES - Datatähti 2021 loppu - Results
Submission details
Task:Järjestäminen
Sender:Juho
Submission time:2021-01-23 19:49:54 +0200
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.01 s1, 2details
#20.02 s2details
#30.01 s1, 2details
#40.01 s1, 2details

Code

#include <bits/stdc++.h>
using namespace std;
int n, t, luku, muisti, a, b, c;
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){
a=sisallot[n-3];
b=sisallot[n-2];
c=sisallot[n-1];
sisallot[n-3]=c;
sisallot[n-2]=muisti;
sisallot[n-1]=a;
sisallot[n]=b;
sijainnit[c]=n-3;
sijainnit[muisti]=n-2;
sijainnit[a]=n-1;
sijainnit[b]=n;
}else if(sijainnit[muisti]==muisti+1){
a=sisallot[muisti+2];
b=sisallot[muisti+3];
c=sisallot[muisti+4];
sisallot[muisti+2]=c;
sisallot[muisti+1]=b;
sisallot[muisti+3]=muisti;
sisallot[muisti+4]=a;
sijainnit[c]=muisti+2;
sijainnit[b]=muisti+1;
sijainnit[muisti]=muisti+3;
sijainnit[a]=muisti+4;
}else{
a=sijainnit[muisti];
b=sisallot[muisti];
sijainnit[muisti]= muisti;
sijainnit[b]=a;
sisallot[a]=b;
sisallot[muisti]= muisti;
b=sisallot[muisti+1];
c=sisallot[a+1];
sijainnit[c]=muisti+1;
sijainnit[b]=a+1;
sisallot[muisti+1]=c;
sisallot[a+1]=b;
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
YESYESNONONONONONONONONOYESNON...
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
NONONONONONONONONONOYESNOYESNO...
Truncated

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
NONONONOYESYESNONONONOYESNONON...
Truncated

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
NONONONONONONONONONONONONONONO...
Truncated