CSES - Datatähti 2021 loppu - Results
 Task: Järjestäminen Sender: caro Submission time: 2021-01-23 19:57:28 +0200 Language: 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 j = 0; j < n; j++){
cin >> t[j];
if(i > 0) {
if(t[j - 1] > t[j]) 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

Group: 1, 2

Verdict:

input
153
1
1
2
1 2
...

correct output
YES
YES
NO
NO
NO
...

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

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

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