| 16694 | 2025-05-09 10:26:58 | Taxiradio | Mágikus sorozat | cpp17 | Accepted 100/100 | 155ms | 22320 KiB |
// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n;
vector<int> a;
vector<int> b;
int s = 0, e = -1;
for(int i = 0; i < n; i++){
int y; cin >> y;
a.push_back(y);
if(i != 0 && i+y-1 >= e){
e = i+y-1;
s = i;
}
if(e < i){
b.push_back(i);
}else{
b.push_back(b[i-s]);
}
}
vector<vector<int>> g(n);
for(int i = 0; i < n; i++){
int y = a[i];
if(i+y < n){
g[b[i+y]].push_back(b[y]);
g[b[y]].push_back(b[i+y]);
}
}
vector<int> d(n , -1);
for(int i = 0; i < n; i++){
if(d[b[i]] != -1)continue;
sort(g[b[i]].begin() , g[b[i]].end());
d[b[i]] = 1;
for(int x : g[b[i]]){
if(d[b[i]] == d[x])d[b[i]]++;
}
}
for(int i = 0; i < n; i++)cout << d[b[i]] << " ";
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 4ms | 1076 KiB | ||||
| subtask2 | 15/15 | ||||||
| 3 | Accepted | 3ms | 564 KiB | ||||
| 4 | Accepted | 3ms | 564 KiB | ||||
| 5 | Accepted | 3ms | 568 KiB | ||||
| subtask3 | 15/15 | ||||||
| 6 | Accepted | 1ms | 316 KiB | ||||
| 7 | Accepted | 1ms | 316 KiB | ||||
| 8 | Accepted | 1ms | 316 KiB | ||||
| 9 | Accepted | 1ms | 316 KiB | ||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| subtask4 | 30/30 | ||||||
| 11 | Accepted | 2ms | 564 KiB | ||||
| 12 | Accepted | 3ms | 564 KiB | ||||
| 13 | Accepted | 2ms | 564 KiB | ||||
| 14 | Accepted | 2ms | 316 KiB | ||||
| subtask5 | 40/40 | ||||||
| 15 | Accepted | 144ms | 22320 KiB | ||||
| 16 | Accepted | 150ms | 20968 KiB | ||||
| 17 | Accepted | 128ms | 16196 KiB | ||||
| 18 | Accepted | 126ms | 15068 KiB | ||||
| 19 | Accepted | 131ms | 16044 KiB | ||||
| 20 | Accepted | 136ms | 16196 KiB | ||||
| 21 | Accepted | 142ms | 16404 KiB | ||||
| 22 | Accepted | 140ms | 16732 KiB | ||||
| 23 | Accepted | 137ms | 16448 KiB | ||||
| 24 | Accepted | 131ms | 15936 KiB | ||||
| 25 | Accepted | 125ms | 15304 KiB | ||||
| 26 | Accepted | 131ms | 16352 KiB | ||||
| 27 | Accepted | 101ms | 13648 KiB | ||||
| 28 | Accepted | 116ms | 14912 KiB | ||||
| 29 | Accepted | 119ms | 15668 KiB | ||||
| 30 | Accepted | 155ms | 13628 KiB | ||||
| 31 | Accepted | 134ms | 14148 KiB | ||||
| 32 | Accepted | 119ms | 14908 KiB | ||||