Submission #1311152

#TimeUsernameProblemLanguageResultExecution timeMemory
1311152vanguardSeptember (APIO24_september)C++20
0 / 100
1 ms568 KiB
#include "september.h"
#include <vector>

int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
    // Reset all state - important for oj.uz multiple calls
    std::vector<int> count(N, 0);
    int unique_nodes_encountered = 0;
    int nodes_fully_seen = 0;
    int day_count = 0;

    // We iterate through the sequences. 
    // The number of nodes in each S[j] is N-1.
    for (int i = 0; i < N - 1; i++) {
        for (int j = 0; j < M; j++) {
            int node = S[j][i];
            if (count[node] == 0) {
                unique_nodes_encountered++;
            }
            count[node]++;
            if (count[node] == M) {
                nodes_fully_seen++;
            }
        }

        // A day can end when every node we've touched 
        // has been processed in all M sequences.
        if (unique_nodes_encountered == nodes_fully_seen) {
            day_count++;
        }
    }

    return day_count;
}
#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...