Task: | Sorting |
Sender: | smjleo |
Submission time: | 2021-02-01 15:43:16 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 36 |
#2 | ACCEPTED | 64 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1, 2 | details |
#2 | ACCEPTED | 0.01 s | 2 | details |
#3 | ACCEPTED | 0.01 s | 1, 2 | details |
#4 | ACCEPTED | 0.01 s | 1, 2 | details |
Code
#include <bits/stdc++.h>using namespace std;#define int long long#define nl '\n'#define io ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)const int mod = 1000000007;const int mod2 = 998244353;// change thisconst int N = 105;int t, n, arr[N];signed main() {io;cin >> t;while (t--) {cin >> n;for (int i=0; i<n; i++) cin >> arr[i];bool sorted = true;for (int i=1; i<n; i++) {if (arr[i-1] > arr[i]) {sorted = false;break;}}if (sorted) {cout << "YES" << nl;continue;}// not sortedif (n <= 3) {cout << "NO" << nl;continue;}if (n == 4) {if (arr[0] == 3 && arr[1] == 4 && arr[2] == 1 && arr[3] == 2) {cout << "YES" << nl;} else {cout << "NO" << nl;}continue;}int inv = 0;for (int i=0; i<n; i++) {for (int j=i+1; j<n; j++) {if (arr[i] > arr[j]) inv++;}}cout << (inv%2 ? "NO" : "YES") << nl;}}
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
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: ACCEPTED
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 YES ... Truncated |
Test 3
Group: 1, 2
Verdict: ACCEPTED
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 |
Test 4
Group: 1, 2
Verdict: ACCEPTED
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 YES NO YES ... Truncated |