197922025-12-23 14:02:31GergoszaboÜltetéscpp17Partially correct 37.5/756ms768 KiB
#include <iostream>
#include <bits/stdc++.h>
using ll = long long;
using namespace std;

int main()
{
    ll n; cin >> n;
    vector<ll> v(n+1);
    vector<ll> be(n+1, 0);
    for (ll i = 1; i <= n; i++){
        cin >> v[i];
        be[v[i]] = 1;
    }
    vector<ll> ul(n+1, 0), kesz(n+1, 0);
    ll szek = 1, ans = 0;
    for (ll i = 1; i <= n; i++){
        if (be[i] == 0){
            ll guy = i;
            while (!kesz[guy]){
                ul[szek] = guy;
                kesz[guy] = 1;
                szek++;
                if (!kesz[v[guy]]) ans++;
                guy = v[guy];
            }
        }
    }
    for (ll i = 1; i <= n; i++){
        if (kesz[i] == 0){
            ll guy = i;
            while (!kesz[guy]){
                ul[szek] = guy;
                kesz[guy] = 1;
                szek++;
                if (!kesz[v[guy]]) ans++;
                guy = v[guy];
            }
        }
    }
    cout << ans << "\n";
    for (ll i = 1; i <= n; i++){
        cout << ul[i] << " ";
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Partially correct4ms584 KiB
subtask22.5/5
3Accepted1ms316 KiB
4Partially correct1ms316 KiB
5Partially correct1ms316 KiB
6Accepted1ms316 KiB
7Partially correct1ms316 KiB
subtask32.5/5
8Partially correct1ms316 KiB
9Partially correct1ms316 KiB
10Partially correct1ms324 KiB
11Partially correct1ms508 KiB
12Partially correct1ms388 KiB
subtask42.5/5
13Partially correct1ms316 KiB
14Partially correct1ms316 KiB
15Partially correct1ms316 KiB
16Partially correct1ms540 KiB
17Partially correct1ms316 KiB
subtask55/10
18Partially correct1ms316 KiB
19Partially correct1ms316 KiB
20Partially correct1ms316 KiB
21Partially correct1ms316 KiB
22Partially correct1ms316 KiB
23Partially correct1ms612 KiB
24Partially correct1ms316 KiB
25Partially correct1ms316 KiB
26Partially correct4ms564 KiB
27Partially correct4ms564 KiB
subtask65/10
28Partially correct2ms316 KiB
29Partially correct2ms316 KiB
30Partially correct2ms316 KiB
31Partially correct3ms316 KiB
32Partially correct3ms756 KiB
33Partially correct4ms564 KiB
34Partially correct4ms564 KiB
35Partially correct4ms712 KiB
36Partially correct4ms596 KiB
37Partially correct4ms760 KiB
subtask720/40
38Partially correct1ms316 KiB
39Partially correct2ms316 KiB
40Partially correct2ms460 KiB
41Partially correct3ms316 KiB
42Partially correct3ms564 KiB
43Partially correct4ms564 KiB
44Partially correct4ms564 KiB
45Partially correct4ms560 KiB
46Partially correct4ms708 KiB
47Partially correct4ms732 KiB
48Partially correct6ms564 KiB
49Partially correct4ms720 KiB
50Partially correct4ms556 KiB
51Partially correct4ms564 KiB
52Partially correct6ms564 KiB
53Partially correct4ms564 KiB
54Partially correct4ms564 KiB
55Partially correct4ms580 KiB
56Partially correct4ms580 KiB
57Partially correct6ms768 KiB