/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 512.0 KiB
#2 Accepted 3ms 548.0 KiB
#3 Accepted 3ms 480.0 KiB
#4 Accepted 90ms 3.375 MiB
#5 Accepted 94ms 4.145 MiB
#6 Accepted 90ms 3.375 MiB
#7 Accepted 90ms 3.371 MiB
#8 Accepted 136ms 4.137 MiB
#9 Accepted 198ms 4.344 MiB
#10 Accepted 91ms 4.066 MiB
#11 Accepted 93ms 4.125 MiB
#12 Accepted 95ms 4.152 MiB
#13 Accepted 94ms 4.121 MiB
#14 Accepted 93ms 4.156 MiB
#15 Accepted 96ms 4.156 MiB
#16 Accepted 91ms 4.109 MiB
#17 Accepted 95ms 4.137 MiB
#18 Accepted 95ms 4.152 MiB
#19 Accepted 104ms 4.156 MiB
#20 Accepted 116ms 4.145 MiB

Code

#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define dbg(a,b,c,d) cerr<<a<<"  "<<b<<"  "<<c<<"  "<<d<<endl;
#define kill(a) {cout<<a<<endl;continue;}
#define KILL(a) {cout<<a<<endl;return 0;}
#define debug cerr<<"Error Found"<<endl;
#define mem(a,b) memset(a,b,sizeof(a))
#define lcm(a, b) (a/__gcd(a,b))*b
#define w(t) cin>>t;while(t--)
#define pi  2 * acos(0.0)
#define endl "\n"
int t, cs = 0;
const int mxn = 2e5 + 3, mod = 1e9 + 7;

int32_t main()
{

    //fast
    w(t)
    {
        int n;
        cin >> n;
        int ar[n + 1];
        for(int i = 1; i <= n; i++)cin >> ar[i];
        bool vis[n + 1] = {};
        int par[n + 1] = {};
        int child[n + 1] = {};
        int cnt = 0;
        for(int i = 1; i <= n; i++)
        {
            if(vis[i])continue;
            cnt++;
            int nxt = i;
            while(nxt <= n and !vis[nxt])
            {
                vis[nxt] = true;
                int p = nxt + ar[nxt];
                if(p <= n)par[nxt] = p, child[p]++;
                nxt = p;
            }
        }
        for(int i = 1; i <= n; i++)
        {
            int a = par[i];
            if(child[a] > 1 or !child[a])cout << cnt << " ";
            else cout << cnt + 1 <<" ";
        }
        cout << endl;
    }
}

Information

Submit By
Type
Submission
Problem
P1066 Light switches
Language
C++17 (G++ 13.2.0)
Submit At
2024-11-09 07:48:54
Judged At
2024-11-11 02:22:32
Judged By
Score
100
Total Time
198ms
Peak Memory
4.344 MiB