Submission #13110007


Source Code Expand

//Author rahuliitkgp
/*A thing of beauty is a joy forever,
Its loveliness increases,
it will never pass into nothingness.*/
//Men at Work :)
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;

void cpp() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
}

int main() {
    cpp();
    ll n, k;
    cin>>n>>k;
    vector<ll> v(n+1);
    for(ll i=0; i<n; i++) cin>>v[i+1]; //one based indexing

    //floyd warshall cycle detection algorithm starts here to find start of cycle
    ll l = v[1];
    ll r = v[v[1]];
    while(l!=r){
        l = v[l];
        r = v[v[r]];
    }
    l = 1;
    while(l!=r){
        l=v[l];
        r=v[r];
    }
    //floyd warshall cycle detection algorithm ends here to find start of cycle

    ll cycleStar = l;  //starting point of cycle
    ll cnt = 0;  //number of elements before the starting point of cycle
    l = 1;
    while(l!=cycleStar){
        cnt++;
        l = v[l];
    }

    ll eleBefore = cnt;  //number of elements before the starting point of cycle
    ll lenn = 1;   //length of cycle(num of elements in it)
    l = cycleStar;
    while(v[l]!=cycleStar){
        l=v[l];
        lenn++;
    }
    
    // moving king to the starting point of cycle if k becomes zero in between we are breaking early and printing the answer
    l = 1;
    while((eleBefore!=0)&&(k)){
        l=v[l];
        eleBefore--;
        k--;
    }
    
    // printing answer if k becomes zero in between reaching the start of cycle
    if(k==0){
        cout<<l<<endl;
        return 0;
    }
    
    // now we are at start of cycle we can reduce k to k%lenn because if k> len king will move in cycle
    k=k%lenn;
    
    //now k is less than length of cycle
    //just move king k steps forward
    while(k){
        l=v[l];
        k--;
    }
    //print ans
    cout<<l<<endl;
    return 0;
}

Submission Info

Submission Time
Task D - Teleporter
User rahuliitkgp
Language C++ (GCC 9.2.1)
Score 400
Code Size 1932 Byte
Status AC
Exec Time 34 ms
Memory 4784 KiB

Judge Result

Set Name Sample Subtask1
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 57
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
Subtask1 sample_01.txt, sample_02.txt, sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt, sub1_05.txt, sub1_06.txt, sub1_07.txt, sub1_08.txt, sub1_09.txt, sub1_10.txt, sub1_11.txt, sub1_12.txt, sub1_13.txt, sub1_14.txt, sub1_15.txt, sub1_16.txt, sub1_17.txt, sub1_18.txt, sub1_19.txt, sub1_20.txt, sub1_21.txt, sub1_22.txt, sub1_23.txt, sub1_24.txt, sub1_25.txt, sub1_26.txt, sub1_27.txt, sub1_28.txt, sub1_29.txt, sub1_30.txt, sub1_31.txt, sub1_32.txt, sub1_33.txt, sub1_34.txt, sub1_35.txt, sub1_36.txt, sub1_37.txt, sub1_38.txt, sub1_39.txt, sub1_40.txt, sub1_41.txt, sub1_42.txt, sub1_43.txt, sub1_44.txt, sub1_45.txt, sub1_46.txt, sub1_47.txt, sub1_48.txt, sub1_49.txt, sub1_50.txt, sub1_51.txt, sub1_52.txt, sub1_53.txt, sub1_54.txt, sub1_55.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 3496 KiB
sample_02.txt AC 2 ms 3604 KiB
sub1_01.txt AC 6 ms 3516 KiB
sub1_02.txt AC 18 ms 4076 KiB
sub1_03.txt AC 4 ms 3452 KiB
sub1_04.txt AC 20 ms 4748 KiB
sub1_05.txt AC 22 ms 4692 KiB
sub1_06.txt AC 15 ms 4224 KiB
sub1_07.txt AC 14 ms 4216 KiB
sub1_08.txt AC 22 ms 4716 KiB
sub1_09.txt AC 18 ms 4076 KiB
sub1_10.txt AC 19 ms 4492 KiB
sub1_11.txt AC 14 ms 3884 KiB
sub1_12.txt AC 21 ms 4688 KiB
sub1_13.txt AC 21 ms 4772 KiB
sub1_14.txt AC 31 ms 4688 KiB
sub1_15.txt AC 15 ms 4080 KiB
sub1_16.txt AC 21 ms 4752 KiB
sub1_17.txt AC 16 ms 4100 KiB
sub1_18.txt AC 26 ms 4728 KiB
sub1_19.txt AC 13 ms 3616 KiB
sub1_20.txt AC 34 ms 4684 KiB
sub1_21.txt AC 21 ms 4200 KiB
sub1_22.txt AC 22 ms 4468 KiB
sub1_23.txt AC 17 ms 3956 KiB
sub1_24.txt AC 27 ms 4412 KiB
sub1_25.txt AC 21 ms 4396 KiB
sub1_26.txt AC 16 ms 4088 KiB
sub1_27.txt AC 18 ms 3832 KiB
sub1_28.txt AC 17 ms 4152 KiB
sub1_29.txt AC 10 ms 3676 KiB
sub1_30.txt AC 16 ms 3992 KiB
sub1_31.txt AC 3 ms 3668 KiB
sub1_32.txt AC 17 ms 4168 KiB
sub1_33.txt AC 11 ms 3708 KiB
sub1_34.txt AC 17 ms 3952 KiB
sub1_35.txt AC 3 ms 3704 KiB
sub1_36.txt AC 29 ms 4756 KiB
sub1_37.txt AC 21 ms 4764 KiB
sub1_38.txt AC 26 ms 4684 KiB
sub1_39.txt AC 22 ms 4784 KiB
sub1_40.txt AC 12 ms 3648 KiB
sub1_41.txt AC 28 ms 4732 KiB
sub1_42.txt AC 31 ms 4732 KiB
sub1_43.txt AC 30 ms 4764 KiB
sub1_44.txt AC 31 ms 4784 KiB
sub1_45.txt AC 26 ms 4688 KiB
sub1_46.txt AC 23 ms 4744 KiB
sub1_47.txt AC 22 ms 4696 KiB
sub1_48.txt AC 27 ms 4680 KiB
sub1_49.txt AC 27 ms 4716 KiB
sub1_50.txt AC 23 ms 4608 KiB
sub1_51.txt AC 20 ms 4360 KiB
sub1_52.txt AC 19 ms 3992 KiB
sub1_53.txt AC 6 ms 3548 KiB
sub1_54.txt AC 32 ms 4684 KiB
sub1_55.txt AC 28 ms 4628 KiB