제출 #1364020

#제출 시각아이디문제언어결과실행 시간메모리
1364020msab3fSeptember (APIO24_september)C++20
100 / 100
60 ms7484 KiB
#include "september.h"
#include "bits/stdc++.h"
using namespace std;

int solve(int N, int M, vector<int> F, vector<vector<int>> S) {
	vector<vector<int>> S_T;
	S_T.assign(M, vector<int>(N + 1));
	for (int i = 0; i < M; ++i) {
		for (int j = 0; j < N - 1; ++j) {
			S_T[i][S[i][j]] = j;
		}
	}
	vector<int> mn(N, N);
	for (int i = 1; i <= N - 1; ++i) {
		int a = N, b = 0;
		for (int j = 0; j < M; ++j) {
			int x = S_T[j][i];
			a = min(a, x);
			b = max(b, x);
		}
		mn[b] = min(mn[b], a);
	}
	int ans = 1;
	for (int i = N - 2; i >= 1; --i) {
		mn[i] = min(mn[i], mn[i + 1]);
		for (int j = 0; j < M; ++j) {
			if (F[S[j][i]] != 0 && S_T[j][F[S[j][i]]] < i) {
				mn[i] = min(mn[i], S_T[j][F[S[j][i]]]);
			}
		}
		if (mn[i] >= i) ++ans;
	}
	return ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…