Submission #1366659

#TimeUsernameProblemLanguageResultExecution timeMemory
1366659djsksbrbfSeptember (APIO24_september)C++20
0 / 100
0 ms344 KiB
#include "september.h"

#include <vector>
#include <bits/stdc++.h>
using namespace std;

bool vis[20004];
int cnt[20005];
set <int> s;
vector <int> adj[20005];
void dfs(int cur, int par){
   s.insert(cur);
   
   for(auto it : adj[cur]){
      if(it == par)continue;
      dfs(it, cur);
   }
}
typedef pair <int, int> pii;
int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
   for(int i = 1 ; i < N ; i++)adj[F[i]].push_back(i);
   int ans = 0, day = 0;
   while(day < N - 1){
      do{
         for(int i = 0 ; i < M ; i++){
            cnt[S[i][day]]++;
            dfs(S[i][day], S[i][day]);
            
            if(cnt[S[i][day]] == M)s.erase(S[i][day]);
         }
         day++;
      }while(s.size());
      ans++;
   }
   for(int i = 0 ; i < N ; i++){
      adj[i].clear();
      vis[i] = 0;
      cnt[i] = 0;
   }
   return ans;
}
#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...