제출 #1349777

#제출 시각아이디문제언어결과실행 시간메모리
1349777blameazu9월 (APIO24_september)C++20
28 / 100
55 ms7420 KiB
#include "september.h"

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

int solve(int n, int m, vector<int> F, vector<vector<int> > S) {
	int ans = 0;
	vector<vector<int> > ok(m, vector<int> (n));
	for(int l = 0; l < m; l++) {
		vector<int> vis(n);
		int now = n-1;
		for(int i = 0; i < n-1;) {
			int j = i;
			int cnt = 0;
			do {
				vis[now] = 1;
				cnt++;
				while(j < n-1 && S[l][j] != now) {
					vis[S[l][j]] = 1;
					cnt++;
					j++;
				}
				while(now >= 1 && vis[now]) now--, cnt--;
				j++;
			} while(cnt >= 1);
			i = j;
			ok[l][j-1] = 1;
		}
	}
	// for(int i = 0; i < n; i++) cout << ok[0][i] << " \n"[i==n-1];
	for(int i = 0; i < n-1; i++) {
		int OK = 1;
		for(int j = 0; j < m; j++) OK &= ok[j][i];
		if(OK) ans++;
	}
	return ans;
}

/*
6
5 1
0 1 2 3 
4 3 2 1
5 1
0 1 2 3
4 1 2 3
5 1
0 1 2 3
4 3 1 2
5 1
0 1 2 3
1 2 3 4
5 1
0 1 2 3
3 2 1 4
5 1
0 1 2 3
2 4 3 1
*/
#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...