Submission details
Task:Terrible security
Sender:aalto26fm_023
Submission time:2026-10-05 17:38:32 +0300
Language:C++ (C++20)
Status:COMPILE ERROR

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:26:27: error: a function-definition is not allowed here before '{' token
   26 |     int dfs(int s, int r) {
      |                           ^
input/code.cpp:41:15: error: 'dfs' was not declared in this scope; did you mean 'ffs'?
   41 |         val = dfs(*node.begin(),1);
      |               ^~~
      |               ffs

Code

#include <bits/stdc++.h> 
using namespace std;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    int q;
    cin>>n;
    cin>>q;
    vector<int> k(n);
    for (int i =0; i <n;i++){
        cin>>k[i];
    }

    vector<bool> visited(n);
    vector<int> sizecycle(n);
    int mark =0;
    vector<int> marked(n,-1);

    set<int> node;
    for (int i; i<n; i++){
        node.insert(i);
    }

    int dfs(int s, int r) {
        if (visited[s]) {
            return r;
        }
        else {
            marked[s]=mark;
            node.erase(s);
            r++;
        }
        visited[s] = true;
        dfs(k[s]);
    }

    while (!node.empty()){
        int val;
        val = dfs(*node.begin(),1);
        for (int i; i<n;i++){
            if (marked[i]==mark){
                sizecycle[i]= val;
            }
        }
        mark++;
    }


    for (int i=0; i<q; i++){
        int x;
        cin>>x;
        cout<<sizecycle[x];
    }
}