Submission #1031570

#TimeUsernameProblemLanguageResultExecution timeMemory
1031570aaaaaarrozBeech Tree (IOI23_beechtree)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> beechtree(int n, int m, vector<int> P, vector<int> C) {
    vector<vector<int>> graph(n);
    for (int i = 1; i < n; ++i) {
        graph[P[i]].push_back(i);
    }
    vector<int> ans(n, 0);
    for (int i = 0; i < n; ++i) {
        vector<int> subtree;
        stack<int> s;
        s.push(i);
        while (!s.empty()) {
            int node = s.top(); s.pop();
            subtree.push_back(node);
            for (int neighbor : graph[node]) {
                s.push(neighbor);
            }
        }
        sort(subtree.begin() + 1, subtree.end(), [&](int a, int b) {
            if (C[a] != C[b]) {
                return C[a] < C[b];
            }
            return a > b;
        });
        bool is_bonito = true;
        for (int j = 1; j < subtree.size(); ++j) {
            if (P[subtree[j]] != subtree[j - 1]) {
                is_bonito = false;
                break;
            }
        }
        ans[i] = is_bonito ? 1 : 0;
    }
    return ans;
}

Compilation message (stderr)

beechtree.cpp: In function 'std::vector<int> beechtree(int, int, std::vector<int>, std::vector<int>)':
beechtree.cpp:27:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |         for (int j = 1; j < subtree.size(); ++j) {
      |                         ~~^~~~~~~~~~~~~~~~
#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...