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 |
|
|
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 |