Submission #1162438

#TimeUsernameProblemLanguageResultExecution timeMemory
1162438nninSeptember (APIO24_september)C++20
0 / 100
0 ms320 KiB
#include "september.h" #include<bits/stdc++.h> using namespace std; #define pii pair<int,int> int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { vector<int> posi(N, -1); for(vector<int> arr:S) for(int i=0;i<N-1;i++) { posi[arr[i]] = max(posi[arr[i]], i); } vector<pii> ord; for(int i=1;i<N;i++) { ord.push_back({posi[i], i}); } sort(ord.begin(), ord.end()); vector<int> deg(N, 0); for(int i=1;i<N;i++) { deg[F[i]]++; } queue<int> q; for(int i=1;i<N;i++) { if(deg[i]==0) q.push(i); } while(!q.empty()) { int u = q.front(); q.pop(); posi[F[u]] = max(posi[F[u]], posi[u]); deg[F[u]]--; if(deg[F[u]]==0) q.push(F[u]); } int day = 0, cur = -1; for(auto [p, u]:ord) { if(p>cur) day++; cur = max(cur, posi[u]); } return day; }
#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...