Submission #993536

#TimeUsernameProblemLanguageResultExecution timeMemory
993536abczz9월 (APIO24_september)C++17
100 / 100
89 ms12020 KiB
#include "september.h"
#include <iostream>
#include <vector>
#define ll long long

using namespace std;

bool B[100000][5];
ll f, x, in[100000][5], tot[100000], cnt;
int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
	f = cnt = x = 0;
	for (int i=1; i<N; ++i) {
		tot[i] = 0;
		for (int j=0; j<M; ++j) {
			B[i][j] = 0;
			++in[F[i]][j];
		}
	}
	for (int i=0; i<N-1; ++i) {
		for (int j=0; j<M; ++j) {
			auto u = S[j][i];
			++tot[u];
			if (tot[u] == M) ++x;
			B[u][j] = 1;
			--in[F[u]][j];
			if (B[F[u]][j] && !in[F[u]][j]) --cnt;
			if (in[u][j]) ++cnt;
		}
		if (!cnt && x == i+1) ++f;
	}
	return f;
}
#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...