Accepted
Code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
int t;
cin >> t;
while (t--){
int n, ans = 0;
cin >> n;
vector<int> a(n + 2), vis(n + 2);
for (int i = 0; i < n; i++){
cin >> a[i];
}
for (int i = 0; i < n; i++){
if (vis[i]) continue;
ans++;
int j = i + a[i];
while (j < n){
vis[j]++;
if (vis[j] > 1) break;
j = j + a[j];
}
}
for (int i = 0; i < n; i++){
int x = ans;
if (i + a[i] < n && vis[i + a[i]] == 1) x++;
cout << x << ' ';
}
cout << endl;
}
}
Information
- Submit By
- Type
- Submission
- Problem
- P1066 Light switches
- Contest
- Brain Booster #4
- Language
- C++17 (G++ 13.2.0)
- Submit At
- 2024-07-14 16:22:25
- Judged At
- 2024-11-11 03:24:18
- Judged By
- Score
- 100
- Total Time
- 113ms
- Peak Memory
- 3.176 MiB