Submission #1084916

#TimeUsernameProblemLanguageResultExecution timeMemory
1084916pemguimn우주 해적 (JOI14_space_pirate)C++14
10 / 100
2035 ms25416 KiB
#include <bits/stdc++.h>

using namespace std;

const int N = 1e5 + 5, LOG = 60;
int n, a[N], nxt[LOG][N];
long long cnt[N];

long long k;

int jump(int x, long long y){
    for(int i = LOG - 1; i >= 0; i--){
        if(y & (1LL << i)) x = nxt[i][x];
    }
    return x;
}
int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);

    cin >> n >> k;
    for(int i = 1; i <= n; i++) cin >> a[i], nxt[0][i] = a[i];

    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            nxt[0][i] = j;
            for(int i = 1; i < LOG; i++){
                for(int j = 1; j <= n; j++){
                    nxt[i][j] = nxt[i - 1][nxt[i - 1][j]];
                }
            }
            cnt[jump(1, k)]++;
            nxt[0][i] = a[i];
        }
    }
    for(int i = 1; i <= n; i++) cout << cnt[i] << '\n';
    return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...