제출 #1368476

#제출 시각아이디문제언어결과실행 시간메모리
1368476tapilyoca9월 (APIO24_september)C++20
0 / 100
1 ms580 KiB
#include "september.h"

#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
#include<map>

using namespace std;

using ll = long long;
template<typename T>
using vec = vector<T>;
using vll = vec<ll>;
using vvll = vec<vll>;
using str = string;
using pll = pair<ll,ll>;
#define pb push_back
#define sps << " " <<
#define sp << " "
#define fi first
#define se second
#define nl << endl

vvll kids;
vec<bool> vis;
set<ll> waiting;
map<ll,ll> freq;

void dfs(ll u) {
	if(vis[u]) return;
	vis[u] = 1;
	waiting.insert(u);
	for(ll &v : kids[u]) {
		dfs(v);
	}
}

int solve(int N, int M, vec<int> F, vec<vec<int>> S) {
	kids.clear();
	kids.resize(N);
	vis.assign(N,0);

	for(int i = 1; i < N; i++) {
		kids[F[i]].pb(i);
	}

	ll ans = 0;
	for(int i = 0; i < N; i++) {
		for(int j = 0; j < M; j++) {
			dfs(S[j][i]);
			freq[S[j][i]]++;
			
			if(freq[S[j][i]] == M) {
				waiting.erase(S[j][i]);
			}

			if(waiting.size() == 0) ans++;
		}
	}

	return ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…