Submission #1154362

#TimeUsernameProblemLanguageResultExecution timeMemory
1154362lrnnzSeptember (APIO24_september)C++17
55 / 100
1093 ms8296 KiB
#include <bits/stdc++.h>

using namespace std;

int solve(int N, int M, vector<int> F, vector<vector<int>> S){
    vector<vector<int>> children(N, vector<int>());
    for (int i = 1; i < F.size(); i++){
        children[F[i]].push_back(i);
    }

    int ans = 0;
    int diffs = 0;
    int minleaf = 0;

    vector<int> cnts(N, 0);
    vector<bool> visited(N, false);

    for (int i = 0; i < N-1; i++){
        for (auto x : S){
            int node = x[i];

            if (!visited[node]){
                queue<int> q;
                q.push(node);
                visited[node] = true;
                minleaf++;

                while (q.size()){
                    int newnode = q.front(); q.pop();

                    for (auto y : children[newnode]){
                        if (!visited[y]){
                            minleaf++;
                            visited[y] = true;
                            q.push(y);
                        }
                    }
                }
            }

            cnts[node]++;
            if (cnts[node] == 1){
                diffs++;
            }

            if (cnts[node] == M){
                diffs--;
            }
        }
        if (i >= minleaf-1 && diffs == 0)
        ans++;
    }

    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...