Please sign in first.
Submission #56424496
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
int main () {
int N;
cin >> N;
vector<int> A;
for (int i = 2; i <= N; i ++) {
int a;
cin >> a;
A.push_back((N - i + a) % N);
}
sort(A.begin(), A.end());
A.erase(unique(A.begin(), A.end()), A.end());
int K = A.size();
for (int i = 0; i < K * 2; i ++) {
A.push_back(A[i] + N);
}
vector<int> ans(N, N);
for (int i = 0; i < N; i ++) {
int id = i + N;
auto p1 = upper_bound(A.begin(), A.end(), id);
auto pt = lower_bound(A.begin(), A.end(), id);
auto p2 = prev(pt);
int d = max(abs(id - *p1), abs(id - *p2));
ans[i] = N - d;
}
/*
for (int i = 0; i < N; i ++) {
cout << ans[i] << " ";
}
cout << endl;
*/
for (int i = 1; i < N * 5; i ++) {
int p = i % N, q = (i - 1) % N;
ans[p] = min(ans[p], ans[q] + 1);
}
for (int i = N * 5; i; i --) {
int p = i % N, q = (i + 1) % N;
ans[p] = min(ans[p], ans[q] + 1);
}
for (int i = 0; i < N; i ++) {
cout << ans[i] + min(i, N - i) << endl;
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | chinese - 中華料理 |
| User | kumjin3141 |
| Language | C++ 20 (gcc 12.2) |
| Score | 100 |
| Code Size | 1075 Byte |
| Status | AC |
| Exec Time | 129 ms |
| Memory | 4204 KiB |
Judge Result
| Set Name | Set01 | Set02 | Set03 | Set04 | Set05 | Set06 | Set07 | Set08 | Set09 | Set10 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 10 / 10 | 10 / 10 | 10 / 10 | 10 / 10 | 10 / 10 | 10 / 10 | 10 / 10 | 10 / 10 | 10 / 10 | 10 / 10 | ||||||||||||||||||||
| Status |
|
|
|
|
|
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| Set01 | 01-01, 01-02, 01-03, 01-04, 01-05 |
| Set02 | 02-01, 02-02, 02-03 |
| Set03 | 03-01, 03-02, 03-03 |
| Set04 | 04-01, 04-02, 04-03 |
| Set05 | 05-01, 05-02, 05-03 |
| Set06 | 06-01, 06-02 |
| Set07 | 07-01, 07-02 |
| Set08 | 08-01, 08-02 |
| Set09 | 09-01, 09-02 |
| Set10 | 10-01, 10-02 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01-01 | AC | 1 ms | 3656 KiB |
| 01-02 | AC | 1 ms | 3500 KiB |
| 01-03 | AC | 1 ms | 3484 KiB |
| 01-04 | AC | 1 ms | 3476 KiB |
| 01-05 | AC | 1 ms | 3540 KiB |
| 02-01 | AC | 2 ms | 3492 KiB |
| 02-02 | AC | 2 ms | 3504 KiB |
| 02-03 | AC | 2 ms | 3524 KiB |
| 03-01 | AC | 2 ms | 3516 KiB |
| 03-02 | AC | 2 ms | 3592 KiB |
| 03-03 | AC | 2 ms | 3676 KiB |
| 04-01 | AC | 2 ms | 3460 KiB |
| 04-02 | AC | 2 ms | 3552 KiB |
| 04-03 | AC | 2 ms | 3460 KiB |
| 05-01 | AC | 118 ms | 3936 KiB |
| 05-02 | AC | 114 ms | 3820 KiB |
| 05-03 | AC | 129 ms | 4112 KiB |
| 06-01 | AC | 121 ms | 4064 KiB |
| 06-02 | AC | 128 ms | 4124 KiB |
| 07-01 | AC | 121 ms | 3856 KiB |
| 07-02 | AC | 129 ms | 4112 KiB |
| 08-01 | AC | 118 ms | 4052 KiB |
| 08-02 | AC | 129 ms | 4120 KiB |
| 09-01 | AC | 121 ms | 3936 KiB |
| 09-02 | AC | 128 ms | 4100 KiB |
| 10-01 | AC | 122 ms | 3968 KiB |
| 10-02 | AC | 128 ms | 4204 KiB |