| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1349753 | blameazu | 9월 (APIO24_september) | C++20 | 1 ms | 344 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 = 1;
vector<int> dp(n, -1);
vector<int> in(n);
for(int i = 1; i < n; i++) in[F[i]]++;
dp[0] = 0;
for(int o = 0; o < n-1; o++) {
int j = S[0][o];
in[F[j]]--;
if(dp[o] == -1) continue;
vector<int> vis(n);
auto tmp_in = in;
int now = 0;
for(int k = o+1; k < n-1; k++) {
int i = S[0][k];
vis[i] = 1;
if(tmp_in[i] > 0) now++;
tmp_in[F[i]]--;
if(vis[F[i]] && tmp_in[F[i]] == 0) now--;
if(now == 0) {
dp[k+1] = max(dp[k+1], dp[o-1+1] + 1);
}
}
}
return dp[n-1];
}
/*
10! = 3628800
*/
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
