/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 3ms 532.0 KiB
#3 Accepted 2ms 320.0 KiB
#4 Time Exceeded ≥2091ms ≥5.137 MiB
#5 Time Exceeded ≥2080ms ≥5.078 MiB
#6 Time Exceeded ≥2077ms ≥4.961 MiB
#7 Time Exceeded ≥2089ms ≥5.066 MiB
#8 Time Exceeded ≥2067ms ≥5.086 MiB
#9 Time Exceeded ≥2083ms ≥5.082 MiB
#10 Time Exceeded ≥2084ms ≥5.113 MiB
#11 Time Exceeded ≥2080ms ≥5.062 MiB
#12 Time Exceeded ≥2087ms ≥5.023 MiB
#13 Time Exceeded ≥2086ms ≥5.066 MiB
#14 Time Exceeded ≥2093ms ≥5.086 MiB
#15 Time Exceeded ≥2051ms ≥5.082 MiB
#16 Time Exceeded ≥2070ms ≥5.164 MiB
#17 Time Exceeded ≥2072ms ≥5.078 MiB
#18 Time Exceeded ≥2080ms ≥5.168 MiB
#19 Time Exceeded ≥2097ms ≥5.074 MiB
#20 Time Exceeded ≥2095ms ≥5.164 MiB

Code

#include<bits/stdc++.h>
using namespace std;
#define getbit(n, i) (((n) & (1LL << (i))) != 0) 
#define setbit0(n, i) ((n) & (~(1LL << (i)))) 
#define setbit1(n, i) ((n) | (1LL << (i))) 

#define ll long long
#define int long long
template<typename s, typename t> void smax(s &a, const t &b) {if (a<b) a=b;}
template<typename s, typename t> void smin(s &a, const t &b) {if (a>b) a=b;}
char gap = 32;

#define rng_init mt19937 rng(chrono::steady_clock::now().time_since_epoch().count())
#define rng_seed(x) mt19937 rng(x)
#define fill(x, y) memset(x, y, sizeof(x))
#define srt(v) sort(v.begin(), v.end())
#define rsrt(v) sort(v.rbegin(),v.rend())
#define pb push_back
#define lll __int128_t
ll hashPrime = 1610612741;

void solve(){
    int n; cin >> n;
    vector<int>v(n);
    for(int i=0; i<n; i++){
        cin >> v[i];
    }
    vector<int> res(n);
    for (int i = 0; i < n; i++) {
        vector<int> Ai = v;
        Ai[i] = 0;

        vector<bool> on(n, false);
        int cnt = 0;
        for (int j = 0; j < n; j++) {
            if (!on[j]) {
                cnt++;
                queue<int> q;
                q.push(j);
                while (!q.empty()) {
                    int curr = q.front();
                    q.pop();
                    if (on[curr]) continue;
                    on[curr] = true;
                    int next = curr + Ai[curr];
                    if (next < n && !on[next]) {
                        q.push(next);
                    }
                }
            }
        }

        res[i] = cnt;
    }

    for (int i = 0; i < n; ++i) {
        cout << res[i] << " ";
    }
    cout << endl;
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t; cin >> t;
    while(t--){
        solve();
    }
}

Information

Submit By
Type
Submission
Problem
P1066 Light switches
Contest
Brain Booster #4
Language
C++20 (G++ 13.2.0)
Submit At
2024-07-14 16:30:35
Judged At
2024-10-03 13:37:34
Judged By
Score
15
Total Time
≥2097ms
Peak Memory
≥5.168 MiB