Submission #1312238

#TimeUsernameProblemLanguageResultExecution timeMemory
1312238azamuraiSeptember (APIO24_september)C++20
0 / 100
1 ms568 KiB
#include "september.h" #include <vector> using namespace std; int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { vector <int> dp(N + 1, 0); vector <int> pos(N, 0); for (int i = 0; i < N - 1; i++) { pos[S[0][i]] = i; } for (int i = 1; i < N; i++) { if (F[i] == 0) continue; if (pos[F[i]] < pos[i]) { dp[pos[F[i]]]++; dp[pos[i] + 1]--; } } for (int i = 1; i < N; i++) { dp[i] += dp[i - 1]; } int ans = 1; for (int i = 1; i < N; i++) { if (dp[i] == 0) ans++; else if (!dp[i - 1]) 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...