Submission #1368241

#TimeUsernameProblemLanguageResultExecution timeMemory
1368241aiwannaSeptember (APIO24_september)C++20
0 / 100
0 ms344 KiB
#include "september.h"
#include <vector>

int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
    // cnt[u] 记录节点 u 被多少个志愿者“提到”了
    std::vector<int> cnt(N, 0); 
    int match_count = 0; // 记录有多少个节点已经被所有 M 个志愿者都提到了
    int max_days = 0;

    // 志愿者记录的长度是 N-1 (从 0 遍历到 N-2)
    for (int j = 0; j < N - 1; ++j) {
        // 让每个志愿者把第 j 个位置的节点报上来
        for (int i = 0; i < M; ++i) {
            int u = S[i][j];
            cnt[u]++;
            // 如果节点 u 刚好被所有 M 个志愿者都记录到了
            if (cnt[u] == M) {
                match_count++;
            }
        }

        // 如果刚好有 j + 1 个节点被所有人找到了,说明这一天可以完美结束
        if (match_count == j + 1) {
            max_days++;
        }
    }

    return max_days;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...