제출 #1152699

#제출 시각아이디문제언어결과실행 시간메모리
1152699burgerguySeptember (APIO24_september)C++20
45 / 100
250 ms21192 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { vector<set<ll>> initialTree(N); for (int i = 1; i < F.size(); i++) { initialTree[F[i]].insert(i); } ll possibleDays = INT_MAX; for(vector<int> record : S) { set<ll> curProcessing; vector<set<ll>> tree = initialTree; ll curDays = 0; for(int e : record) { curProcessing.insert(tree[e].begin(), tree[e].end()); curProcessing.erase(e); tree[F[e]].erase(e); if(curProcessing.empty()) ++curDays; } possibleDays = min(possibleDays, curDays); } return possibleDays; }
#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...