| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1349748 | blameazu | September (APIO24_september) | C++20 | 1095 ms | 456 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> order(n-1);
iota(order.begin(), order.end(), 1);
vector<int> in(n);
for(int i = 1; i < n; i++) in[F[i]]++;
do {
// check
{
int ok = 1;
auto tmp_in = in;
for(auto &d : order) {
if(tmp_in[d] > 0) {
ok = 0;
break;
}
tmp_in[F[d]]--;
}
if(!ok) continue;
}
// count for K
int K = 0;
vector<int> ptr(m);
int order_id = 0;
while(order_id < n-1) {
vector<set<int> > se(m);
while(true) {
for(int i = 0; i < m; i++)
se[i].insert(order[order_id]);
order_id++;
for(int i = 0; i < m; i++)
while(ptr[i] < (int)S[i].size()) {
if(se[i].count(S[i][ptr[i]])) {
se[i].erase(S[i][ptr[i]]);
ptr[i]++;
} else break;
}
int con = 0;
for(auto &d : se) con |= (int)d.size() > 0;
if(!con) break;
}
K++;
}
ans = max(ans, K);
} while(next_permutation(order.begin(), order.end()));
return ans;
}
/*
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... | ||||
