197932025-12-23 14:06:13GergoszaboÜltetéscpp17Hibás válasz 0/756ms760 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];
            }
        }
    }
    ans = 0;
    cout << ans << "\n";
    for (ll i = 1; i <= n; i++){
        cout << ul[i] << " ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz1ms316 KiB
2Hibás válasz4ms572 KiB
subtask20/5
3Hibás válasz1ms316 KiB
4Hibás válasz1ms316 KiB
5Hibás válasz1ms316 KiB
6Hibás válasz1ms316 KiB
7Hibás válasz1ms316 KiB
subtask30/5
8Hibás válasz1ms316 KiB
9Hibás válasz1ms316 KiB
10Hibás válasz1ms316 KiB
11Hibás válasz1ms316 KiB
12Hibás válasz1ms316 KiB
subtask40/5
13Hibás válasz1ms316 KiB
14Hibás válasz1ms316 KiB
15Hibás válasz1ms316 KiB
16Hibás válasz1ms316 KiB
17Hibás válasz1ms316 KiB
subtask50/10
18Hibás válasz1ms332 KiB
19Hibás válasz1ms316 KiB
20Hibás válasz1ms500 KiB
21Hibás válasz1ms316 KiB
22Hibás válasz2ms524 KiB
23Hibás válasz1ms316 KiB
24Hibás válasz1ms316 KiB
25Hibás válasz1ms316 KiB
26Hibás válasz4ms720 KiB
27Hibás válasz4ms644 KiB
subtask60/10
28Hibás válasz1ms316 KiB
29Hibás válasz2ms316 KiB
30Hibás válasz2ms316 KiB
31Hibás válasz3ms524 KiB
32Hibás válasz3ms480 KiB
33Hibás válasz4ms564 KiB
34Hibás válasz3ms580 KiB
35Hibás válasz4ms564 KiB
36Hibás válasz4ms564 KiB
37Hibás válasz4ms640 KiB
subtask70/40
38Hibás válasz1ms316 KiB
39Hibás válasz2ms316 KiB
40Hibás válasz2ms444 KiB
41Hibás válasz3ms316 KiB
42Hibás válasz3ms564 KiB
43Hibás válasz3ms564 KiB
44Hibás válasz4ms564 KiB
45Hibás válasz4ms644 KiB
46Hibás válasz4ms760 KiB
47Hibás válasz4ms564 KiB
48Hibás válasz4ms568 KiB
49Hibás válasz4ms564 KiB
50Hibás válasz4ms564 KiB
51Hibás válasz4ms572 KiB
52Hibás válasz4ms564 KiB
53Hibás válasz6ms564 KiB
54Hibás válasz6ms756 KiB
55Hibás válasz6ms748 KiB
56Hibás válasz6ms580 KiB
57Hibás válasz6ms564 KiB