Submission #1302880
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define REP(i, s, n) for(int i = s; i < n; ++i) #define rep(i, n) REP(i, 0, n) #define SORT(c) sort((c).begin(), (c).end()) #define IINF INT_MAX #define LLINF LLONG_MAX #define DEBUG false typedef long long ll; typedef pair <int, int> ii; int main() { int n, a; ll k2 = LLINF; string k; cin >> n >> a >> k; vector<int> b(n+1); REP(i, 1, n + 1) cin >> b[i]; if(k.size() < 16) k2 = stoi(k); vector<int> used; if(DEBUG) cout << n << endl << a << endl << k2 <<endl; if(DEBUG) REP(i, 1, n+1) cout << b[i] << endl; int word = a; int cycle; ll cnt = 0; vector<int>::iterator it; used.push_back(word); while(1){ cnt++; word = b[word]; if(DEBUG) cout << word << endl; if(cnt == k2){ cout << word << endl; return 0; } it = find(used.begin(), used.end(), word); if(it != used.end()){ cycle = used.size() - distance(used.begin(), it); break; } used.push_back(word); } if(DEBUG) cout << endl; if(DEBUG) rep(i, used.size()) cout << used[i] << endl; if(DEBUG) cout << endl; ll rem = 0; rep(i, k.size()){ ll tmp = (ll)(k[i] - '0') + rem * 10; rem = tmp % cycle; } if(DEBUG) cout << rem << "\t" << cycle << "\t" << cnt << endl << endl; //cout << *it << endl << endl; //it = it + ((rem + cycle - cnt) % cycle); it = it + (((rem % cycle) + cycle * n - cnt) % cycle); cout << *it << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - へんてこ辞書 |
User | letter |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1495 Byte |
Status | RE |
Exec Time | 122 ms |
Memory | 896 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 | RE | 122 ms | 768 KB |
subtask0_1.txt | RE | 120 ms | 512 KB |
subtask0_2.txt | RE | 119 ms | 512 KB |
subtask0_3.txt | RE | 113 ms | 512 KB |
subtask0_4.txt | AC | 26 ms | 640 KB |
subtask0_5.txt | AC | 21 ms | 512 KB |
subtask0_6.txt | RE | 112 ms | 512 KB |
subtask0_7.txt | AC | 23 ms | 512 KB |
subtask0_8.txt | AC | 18 ms | 512 KB |
subtask0_9.txt | RE | 122 ms | 512 KB |
subtask0_sample_01.txt | AC | 1 ms | 256 KB |
subtask0_sample_03.txt | AC | 1 ms | 256 KB |
subtask1_0.txt | AC | 22 ms | 640 KB |
subtask1_1.txt | AC | 26 ms | 768 KB |
subtask1_10.txt | AC | 31 ms | 896 KB |
subtask1_11.txt | AC | 1 ms | 256 KB |
subtask1_2.txt | AC | 22 ms | 640 KB |
subtask1_3.txt | AC | 18 ms | 512 KB |
subtask1_4.txt | AC | 20 ms | 640 KB |
subtask1_5.txt | AC | 27 ms | 768 KB |
subtask1_6.txt | AC | 20 ms | 640 KB |
subtask1_7.txt | AC | 19 ms | 640 KB |
subtask1_8.txt | AC | 30 ms | 768 KB |
subtask1_9.txt | AC | 30 ms | 768 KB |
subtask1_sample_02.txt | AC | 1 ms | 256 KB |