CSES - Datatähti 2021 loppu - Results
Submission details
Task:Järjestäminen
Sender:caro
Submission time:2021-01-23 19:45:33 +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

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:26:17: warning: 'np' may be used uninitialized in this function [-Wmaybe-uninitialized]
             int np;
                 ^~

Code

#include <bits/stdc++.h>
using namespace std;
int main(){
int num;
cin >> num;
for(int i = 0; i < num; i++){
int n;
cin >> n;
int t[n];
int sorted = 1;
for(int i = 0; i < n; i++){
cin >> t[i];
if(i > 0) {
if(t[i - 1] > t[i]) sorted = 0;
}
}
if(sorted){
printf("YES\n");
continue;
}
else if(!sorted && n < 4){
printf("NO\n");
continue;
}
for(int j = 0; j < n - 4; j++){
int np;
for(int k = j; k < n; k++){
if(t[k] == j + 1) np = k;
}
if(np == n - 1){
int as = t[n - 1];
t[n - 1] = t[n - 3];
t[n - 3] = as;
int bs = t[n - 2];
t[n - 2] = t[n - 4];
t[n - 4] = bs;
int cs = t[n - 3];
t[n - 3] = t[j];
t[j] = cs;
int ds = t[n - 2];
t[n - 2] = t[j + 1];
t[j + 1] = ds;
}
else if(np == j){
}
else if(np == j + 1){
int as = t[np];
t[np] = t[n - 2];
t[n - 2] = as;
int bs = t[np + 1];
t[np + 1] = t[n - 1];
t[n - 1] = bs;
int cs = t[n - 2];
t[n - 2] = t[j];
t[j] = cs;
int ds = t[n - 1];
t[n - 1] = t[j + 1];
t[j + 1] = ds;
}
else {
int as = t[np];
t[np] = t[j];
t[j] = as;
int bs = t[np + 1];
t[np + 1] = t[j + 1];
t[j + 1] = bs;
}
}
if((t[n - 4] < t[n - 3] && t[n - 3] < t[n - 2] && t[n - 2] < t[n - 1]) ||
(t[n - 4] < t[n - 3] && t[n - 1] < t[n - 4] && t[n - 2] < t[n - 1])) printf("YES\n");
else printf("NO\n");
}
return 0;
}

Test details

Test 1

Group: 1, 2

Verdict:

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:

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
YES
NO
NO
...
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
NO
NO
NO
NO
YES
...
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
NO
NO
NO
NO
NO
...
Truncated