Submission #1675414
Source Code Expand
#include<iostream>
#include<algorithm>
#include<functional>
#include <string>
#include<iomanip>
#include<cstdio>
#include<math.h>
#include<set>
#include<stack>
#include<map>
#include<queue>
#include<cstring>
#include<vector>
#include<cstdint>
#include <type_traits>
typedef long long int ll;
#define FOR(i,a,b) for(ll i=(a);i<(b);++i)
#define REP(i,n) FOR(i,0,n)
#define EREP(i,n) for(int i=(n-1);i>=0;--i)
#define D(n,retu) REP(i,n){cin>>retu[i];}
#define mod 1000000007
#define MIN -93193111451418101
#define INF 931931114518101
using namespace std;
typedef pair<ll, ll>P;
template<typename T, typename U>
std::enable_if_t<std::rank<T>::value == 0> fill_all(T& arr, const U& v) {
arr = v;
}
template<typename ARR, typename U>
std::enable_if_t<std::rank<ARR>::value != 0> fill_all(ARR& arr, const U& v) {
for (auto& i : arr) {
fill_all(i, v);
}
}
#define MAX_NUM 50
long long comb[MAX_NUM + 1][MAX_NUM + 1];
ll par[100000], depth[100000];
static void calc_comb()
{
for (uint32_t i = 0; i <= MAX_NUM; i++) {
for (uint32_t j = 0; j <= i; j++) {
if ((j == 0) || (i == j)) {
comb[i][j] = 1;
}
else {
comb[i][j] = comb[i - 1][j - 1] + comb[i - 1][j];
}
}
}
}
#define yo 100001
typedef pair<ll, double> dop;
//------------------変数-----------------------//
ll n,m,t,a,beet[114514];
string k;
vector<ll> izryt;
//-------------------関数----------------------//
ll MMMOD (string dividend, ll divisor) {
ll MOD = 0, N = dividend.size();
for (int i = 0; i < N; ++i) {
MOD = (MOD * 10 + (dividend[i] - '0')) % divisor;
}
return MOD;
}
int main(){
cin>>n;
cin>>a;
cin>>k;
REP(i,n){
cin>>beet[i];beet[i]--;
}
bool hoge[114514]={};
ll now=beet[a-1];
ll start;
while(1){
/// cout<<now<<"a"<<endl;
if(hoge[now]){
REP(i,izryt.size()){
if(izryt[i]==now){
start=i;
}
}
break;
}
hoge[now]=true;
izryt.push_back(now);
now=beet[now];
}
if(k.size()<10){
if(stoi(k)-1<start){
cout<<izryt[stoi(k)-1]+1<<endl;return 0;
}
}
REP(i,izryt.size()){
/// cout<<izryt[i]<<"aaa"<<endl;
}
/// cout<<start<<endl;
ll kei=MMMOD(k,izryt.size()-start);
kei-=(start+1)%(izryt.size()-start);
kei%=izryt.size()-start;
///cout<<kei<<end
///cout<<kei<<endl;
cout<<izryt[kei+start]+1<<endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
D - へんてこ辞書 |
User |
keidaroo |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
2691 Byte |
Status |
WA |
Exec Time |
31 ms |
Memory |
1280 KB |
Judge Result
Set Name |
Sample |
Subtask1 |
All |
Score / Max Score |
0 / 0 |
0 / 50 |
0 / 50 |
Status |
|
|
|
Set Name |
Test Cases |
Sample |
subtask0_sample_01.txt, subtask0_sample_03.txt |
Subtask1 |
subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask0_sample_01.txt, subtask0_sample_03.txt |
All |
subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask0_sample_01.txt, subtask0_sample_03.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt, subtask1_sample_02.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask0_0.txt |
WA |
25 ms |
1024 KB |
subtask0_1.txt |
AC |
21 ms |
896 KB |
subtask0_2.txt |
WA |
24 ms |
1024 KB |
subtask0_3.txt |
WA |
18 ms |
896 KB |
subtask0_4.txt |
AC |
27 ms |
1024 KB |
subtask0_5.txt |
AC |
21 ms |
896 KB |
subtask0_6.txt |
WA |
19 ms |
896 KB |
subtask0_7.txt |
AC |
24 ms |
1024 KB |
subtask0_8.txt |
WA |
18 ms |
896 KB |
subtask0_9.txt |
AC |
25 ms |
1024 KB |
subtask0_sample_01.txt |
AC |
1 ms |
384 KB |
subtask0_sample_03.txt |
AC |
1 ms |
384 KB |
subtask1_0.txt |
AC |
22 ms |
1024 KB |
subtask1_1.txt |
AC |
26 ms |
1152 KB |
subtask1_10.txt |
WA |
31 ms |
1280 KB |
subtask1_11.txt |
WA |
1 ms |
384 KB |
subtask1_2.txt |
WA |
21 ms |
1024 KB |
subtask1_3.txt |
AC |
18 ms |
896 KB |
subtask1_4.txt |
WA |
20 ms |
1024 KB |
subtask1_5.txt |
AC |
27 ms |
1152 KB |
subtask1_6.txt |
WA |
21 ms |
1024 KB |
subtask1_7.txt |
AC |
19 ms |
1024 KB |
subtask1_8.txt |
AC |
30 ms |
1280 KB |
subtask1_9.txt |
AC |
30 ms |
1280 KB |
subtask1_sample_02.txt |
AC |
1 ms |
384 KB |