193682025-12-05 11:57:36Nailuj217Gnome Sortcpp17Partially correct 20/100243ms17944 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;



int main() {


    ll n;
    cin >> n;
    vector<ll> seq(n);
    for (int i = 0; i < n; i++) cin >> seq[i];

    vector<bool> used(n, false);
    vector<vector<ll>> circles;
    ll k;
    for (int i = 0; i < n; i++) {
        if (used[i]) continue;
        if (seq[i] == i) continue;
        circles.push_back({i});
        k = seq[i];
        while (k != i) {
            used[k] = true;
            circles.back().push_back(k);
            k = seq[k];
        }
    }
    for (auto &c: circles) {
        sort(c.begin(), c.end());
        for (int i = 0; i < c.size() - 1; i++) {
            if (seq[c[i]] < seq[c[i+1]]) {
                cout << "NO" << endl;
                return 0;
            }
        }
    }
    cout << "YES" << endl;




    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Partially correct1ms316 KiB
2Accepted1ms316 KiB
subtask21/5
3Partially correct1ms316 KiB
4Partially correct1ms316 KiB
5Partially correct1ms316 KiB
subtask32/10
6Partially correct1ms316 KiB
7Partially correct1ms316 KiB
8Partially correct1ms316 KiB
9Partially correct1ms316 KiB
10Partially correct1ms316 KiB
11Accepted1ms316 KiB
12Partially correct1ms316 KiB
13Partially correct1ms316 KiB
subtask47/35
14Partially correct1ms316 KiB
15Partially correct1ms316 KiB
16Partially correct1ms316 KiB
17Partially correct1ms316 KiB
18Partially correct1ms316 KiB
19Accepted1ms316 KiB
20Partially correct1ms316 KiB
21Partially correct1ms316 KiB
22Accepted1ms332 KiB
23Partially correct1ms316 KiB
24Partially correct1ms316 KiB
25Partially correct1ms316 KiB
26Partially correct1ms316 KiB
27Accepted2ms316 KiB
28Partially correct3ms316 KiB
29Partially correct3ms564 KiB
30Partially correct3ms608 KiB
31Partially correct3ms564 KiB
32Accepted3ms316 KiB
33Partially correct3ms564 KiB
34Partially correct2ms352 KiB
subtask510/50
35Partially correct1ms348 KiB
36Accepted1ms316 KiB
37Partially correct1ms316 KiB
38Partially correct1ms316 KiB
39Partially correct1ms316 KiB
40Partially correct1ms316 KiB
41Partially correct1ms316 KiB
42Accepted1ms316 KiB
43Partially correct1ms316 KiB
44Partially correct1ms316 KiB
45Accepted1ms332 KiB
46Partially correct1ms316 KiB
47Partially correct1ms316 KiB
48Partially correct1ms316 KiB
49Partially correct1ms316 KiB
50Accepted2ms316 KiB
51Partially correct3ms316 KiB
52Partially correct3ms564 KiB
53Partially correct3ms608 KiB
54Partially correct3ms564 KiB
55Accepted3ms316 KiB
56Partially correct3ms564 KiB
57Partially correct2ms352 KiB
58Partially correct4ms820 KiB
59Partially correct20ms2012 KiB
60Accepted37ms2160 KiB
61Accepted37ms2216 KiB
62Partially correct208ms15240 KiB
63Partially correct211ms15240 KiB
64Partially correct175ms4148 KiB
65Partially correct217ms17880 KiB
66Accepted194ms8612 KiB
67Partially correct224ms17552 KiB
68Partially correct243ms17804 KiB
69Partially correct217ms17880 KiB
70Partially correct209ms15240 KiB
71Partially correct209ms15248 KiB
72Partially correct232ms17624 KiB
73Partially correct217ms17944 KiB