提出 #13110007
ソースコード 拡げる
//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;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Teleporter |
| ユーザ | rahuliitkgp |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 400 |
| コード長 | 1932 Byte |
| 結果 | AC |
| 実行時間 | 34 ms |
| メモリ | 4784 KiB |
ジャッジ結果
| セット名 | Sample | Subtask1 | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 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 |