CSES - Datatähti Open 2021 - Results
Submission details
Task:Sorting
Sender:apostoldaniel854
Submission time:2021-01-29 22:03:35 +0200
Language:C++17
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;

using ll = long long;

const int MAX_N = 100;
int p[1 + MAX_N];


void solveTest () {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> p[i];
    if (n < 4) {
        for (int i = 1; i <= n; i++)
            if (p[i] != i) {
                cout << "NO\n";
                return;
            }
        cout << "YES\n";
    }
    if (n == 4) {
        bool ok = true;
        for (int i = 1; i <= n; i++)
            if (p[i] != i) {
                ok = false;
            }
        if (ok) {
            cout << "YES\n";
            return;
        }
        swap (p[1], p[3]);
        swap (p[2], p[4]);
        ok = true;
        for (int i = 1; i <= n; i++)
            if (p[i] != i) {
                ok = false;
            }
        if (ok) {
            cout << "YES\n";
        }
        else {
            cout << "NO\n";
        }
        return;
    }
    cout << "YES\n";
}

int main () {
    int t;
    cin >> t;
    while (t--)
        solveTest ();
    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
YES
YES
NO
...

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

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

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