Submission #1355520

#TimeUsernameProblemLanguageResultExecution timeMemory
1355520serendipitous9월 (APIO24_september)C++20
Compilation error
0 ms0 KiB
#include <september.h>
#include <bits/stdc++.h>
using namespace std;

void fallDFS(vector<vector<int>> &tree, int u, vector<int> &maxChildFall) {
    for(int v: tree[u]) {
        fallDFS(tree, v, maxChildFall);
        maxChildFall[u] = max(maxChildFall[u], maxChildFall[v]);
    }
}

int solve(int N, int M, vector<int> F, vector<vector<int>> S) {
    
    
    vector<vector<int>> tree(N);
    for(int i = 1; i < N; ++i) {
        // child i, parent F[i]
        tree[F[i]].push_back(i);
    }
    
    vector<int> &S1 = S[0];
    vector<int> fall(N);
    for(int t = 0; t < N-1; ++t) {
        fall[S1[t]] = t; // the leaf falls at time t
    }

    vector<int> maxChildFall(fall); // invalid for index 0
    fallDFS(tree, 0, maxChildFall);

    int days = 0;

    // cerr << "S1: ";
    // for(int x: S1) {
    //     cerr << x << ' ';
    // }
    // cerr << "\n fall: ";
    
    // for(int x: fall) {
    //     cerr << x << ' ';
    // }
    // cerr << "\n maxChildFall: ";
    
    // for(int x: maxChildFall) {
    //     cerr << x << ' ';
    // }
    // cerr << '\n';

    for(int i = 0; i < N-1;) {
        // greedily batching S1
        ++days;
        int endIdx = i;
        // cerr << "(";
        while(i <= endIdx) {
            // cerr << S1[i] << " ";
            endIdx = max(endIdx, maxChildFall[S1[i]]);
            ++i;
        }
        // cerr << ")\n";
    }

    return days;
}

int __main() {
    int N, M; cin >> N >> M;
    vector<int> F(N);
    for(int &parent: F) {
        cin >> parent;
    }
    vector<vector<int>> S(M);
    for(int i = 0; i < M; ++i) {
        S[i] = vector<int>(N-1);
        for(int &del: S[i]) {
            cin >> del;
        }
    }

    cout << solve(N, M, F, S);
}

Compilation message (stderr)

september.cpp:1:10: fatal error: september.h: No such file or directory
    1 | #include <september.h>
      |          ^~~~~~~~~~~~~
compilation terminated.