/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 536.0 KiB
#2 Accepted 3ms 620.0 KiB
#3 Accepted 3ms 500.0 KiB
#4 Accepted 79ms 2.391 MiB
#5 Accepted 99ms 3.168 MiB
#6 Accepted 94ms 2.375 MiB
#7 Accepted 96ms 2.414 MiB
#8 Accepted 143ms 3.191 MiB
#9 Accepted 207ms 3.375 MiB
#10 Accepted 87ms 3.168 MiB
#11 Accepted 83ms 3.195 MiB
#12 Accepted 85ms 3.055 MiB
#13 Accepted 85ms 3.066 MiB
#14 Accepted 83ms 3.207 MiB
#15 Accepted 87ms 3.176 MiB
#16 Accepted 83ms 3.105 MiB
#17 Accepted 87ms 3.055 MiB
#18 Accepted 89ms 3.055 MiB
#19 Accepted 94ms 3.059 MiB
#20 Accepted 107ms 3.113 MiB

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-10-03 13:37:54
Judged By
Score
100
Total Time
207ms
Peak Memory
3.375 MiB