Submission #1203086

#TimeUsernameProblemLanguageResultExecution timeMemory
1203086idonoamSeptember (APIO24_september)C++17
0 / 100
1 ms324 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int solve(int N, int M, vector<int> F, vector<vector<int>> S) { vector<vector<int>> chi(N); for (int i = 1; i < N; i++) { chi[F[i]].push_back(i); } int op = 0; map<int, int> s; for (int i = 0; i < N - 1; i++) { if (s.empty()) op++; for (int j = 0; j < M; j++) { stack<int> st; st.push(S[j][i]); while (!st.empty()) { int a = st.top(); st.pop(); if (s.find(a) == s.end()) { for (int k = 0; k < chi[a].size(); k++) { st.push(chi[a][k]); } } s.insert({a, M}); } auto it = s.find(S[j][i]); pair<int, int> pc = *it; pc.second--; s.erase(S[j][i]); if (pc.second) s.insert(pc); } } return op; }
#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...