Submission #1349775

#TimeUsernameProblemLanguageResultExecution timeMemory
1349775blameazuSeptember (APIO24_september)C++20
0 / 100
0 ms344 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;
			vis[now] = 1;
			while(now >= 1 && vis[now]) {
				while(j < n-2 && S[l][j] != now) {
					vis[S[l][j]] = 1;
					j++;
				}
				now--;
			}
			i = j+1;
			ok[l][j] = 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;
}

/*
5
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
*/
#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...