Submission #13081304
Source Code Expand
#include <bits/stdc++.h> // definitions #define F first #define S second #define all(x) x.begin(), x.end() #define clr(x) memset(x, 0, sizeof(x)) #define rep(i, l, r) for (long long i = (l); i < (long long)(r); i++) #define repb(i, r, l) for (long long i = (r); i > (long long)(l); i--) #define pb push_back #define pf push_front #define mod1 998244353 #define mod 1000000007 #define MAX_CHAR 256 using namespace std; typedef vector<long long> vl; typedef vector<char> vc; typedef vector<string> vs; typedef vector< pair<long long, long long> > vp; typedef vector<tuple<long long , long long , long long> > vtup; typedef deque <long long> dql; typedef deque <char> dqc; typedef long double ld; typedef long long ll; typedef unsigned long long ull; // prevent collisions in unordered_map struct custom_hash { static uint64_t splitmix64(uint64_t x) { x += 0x9e3779b97f4a7c15; x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; x = (x ^ (x >> 27)) * 0x94d049bb133111eb; return x ^ (x >> 31); } size_t operator()(uint64_t x) const { static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); return splitmix64(x + FIXED_RANDOM); } }; typedef unordered_map <long long, long long, custom_hash> umap; // standard functions ll gcd(ll x, ll y) { if (x < y) return gcd(y, x); if (y == 0) return x; return gcd(y, x % y); } ll mystoi(string str) { stringstream ss(str); ll ans=0; ss >> ans; return ans; } ll exp(ll x, ll ex) { ll ans = 1ll; while (ex > 0) { if (ex & 1ll) ans = (ans * x); ex >>= 1ll; x = (x * x); } return ans; } ll nCrModp(ll n, ll r, ll p) { ll C[r+1]; memset(C, 0, sizeof(C)); C[0] = 1; for (ll i = 1; i <= n; i++) { for (ll j = min(i, r); j > 0; j--) C[j] = (C[j] + C[j-1])%p; } return C[r]; } bool isPrime(ll n) { if (n <= 1) return false; if (n <= 3) return true; if (n%2 == 0 || n%3 == 0) return false; for (ll i=5; i*i<=n; i=i+6) if (n%i == 0 || n%(i+2) == 0) return false; return true; } vl countFreq(ll arr[], ll n) { unordered_map<ll, ll> mp; vector <ll> v; for (ll i = 0; i < n; i++) mp[arr[i]]++; for (auto x : mp) v.pb(x.second); return v; } ll binarySearch(ll arr[], ll l, ll r, ll x) { while (l <= r) { ll m = l + (r - l) / 2; if (arr[m] == x) return m; if (arr[m] < x) l = m + 1; else r = m - 1; } return -1; } bool sort_cond(const pair<ll,ll> &a, const pair <ll,ll> &b) { return a.second > b.second; } const ll MAXSIEVE=(1e3); ll spf[MAXSIEVE]; void sieve() { spf[1] = 1; for (ll i=2; i<MAXSIEVE; i++) spf[i] = i; for (ll i=4; i<MAXSIEVE; i+=2) spf[i] = 2; for (ll i=3; i*i<MAXSIEVE; i++) { if (spf[i] == i) { for (ll j=i*i; j<MAXSIEVE; j+=i) if (spf[j]==j) spf[j] = i; } } } bool findPair(int arr[], int size, int n) { int i = 0; int j = 1; while (i < size && j < size) { if(j-i>1 && arr[j]-arr[i]==n) return true; else if(arr[j]-arr[i]<=n) j++; else i++; } return false; } // code beigns in main int main() { #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll t=1; // cin >> t; while(t--) { ll n,k; cin >> n >>k; ll arr[n]; ll count[(ll)4e5]={0}; rep(i,0,n) { cin >> arr[i]; } if(k<=n) { ll t=1; rep(i,0,k) { t=arr[t-1]; } cout << t << endl; return 0; } vl seq; ll tar; ll t=1; while(true) { if(count[t]==1) { tar=t; break; } else { count[t]++; seq.pb(t); t=arr[t-1]; } } vl ans; ll sub=0; bool ok=1; rep(i,0,seq.size()) { if(seq[i]!=tar && ok) sub++; else { ok=0; ans.pb(seq[i]); } } // cout << sub << endl; // rep(i,0,ans.size()) // cout << ans[i] <<" "; // cout << endl; ll v=k-sub; v%=ans.size(); cout << ans[v] << endl; } }
Submission Info
Submission Time | |
---|---|
Task | D - Teleporter |
User | Imperial_Lord |
Language | C++ (GCC 9.2.1) |
Score | 400 |
Code Size | 5149 Byte |
Status | AC |
Exec Time | 34 ms |
Memory | 10996 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 | 8 ms | 6580 KiB |
sample_02.txt | AC | 5 ms | 6692 KiB |
sub1_01.txt | AC | 11 ms | 6916 KiB |
sub1_02.txt | AC | 19 ms | 7760 KiB |
sub1_03.txt | AC | 7 ms | 6864 KiB |
sub1_04.txt | AC | 25 ms | 8160 KiB |
sub1_05.txt | AC | 22 ms | 8280 KiB |
sub1_06.txt | AC | 17 ms | 7684 KiB |
sub1_07.txt | AC | 18 ms | 7716 KiB |
sub1_08.txt | AC | 20 ms | 8240 KiB |
sub1_09.txt | AC | 20 ms | 9568 KiB |
sub1_10.txt | AC | 22 ms | 8104 KiB |
sub1_11.txt | AC | 14 ms | 7536 KiB |
sub1_12.txt | AC | 23 ms | 8484 KiB |
sub1_13.txt | AC | 26 ms | 8472 KiB |
sub1_14.txt | AC | 28 ms | 9968 KiB |
sub1_15.txt | AC | 17 ms | 7692 KiB |
sub1_16.txt | AC | 24 ms | 8292 KiB |
sub1_17.txt | AC | 18 ms | 7772 KiB |
sub1_18.txt | AC | 22 ms | 8148 KiB |
sub1_19.txt | AC | 13 ms | 7184 KiB |
sub1_20.txt | AC | 34 ms | 9852 KiB |
sub1_21.txt | AC | 17 ms | 7580 KiB |
sub1_22.txt | AC | 22 ms | 7900 KiB |
sub1_23.txt | AC | 15 ms | 7400 KiB |
sub1_24.txt | AC | 22 ms | 7840 KiB |
sub1_25.txt | AC | 27 ms | 10552 KiB |
sub1_26.txt | AC | 19 ms | 8592 KiB |
sub1_27.txt | AC | 20 ms | 7600 KiB |
sub1_28.txt | AC | 18 ms | 7684 KiB |
sub1_29.txt | AC | 13 ms | 7396 KiB |
sub1_30.txt | AC | 19 ms | 8108 KiB |
sub1_31.txt | AC | 7 ms | 6852 KiB |
sub1_32.txt | AC | 17 ms | 7744 KiB |
sub1_33.txt | AC | 8 ms | 7008 KiB |
sub1_34.txt | AC | 22 ms | 7580 KiB |
sub1_35.txt | AC | 6 ms | 6900 KiB |
sub1_36.txt | AC | 26 ms | 8844 KiB |
sub1_37.txt | AC | 24 ms | 8148 KiB |
sub1_38.txt | AC | 25 ms | 8248 KiB |
sub1_39.txt | AC | 22 ms | 8384 KiB |
sub1_40.txt | AC | 13 ms | 7032 KiB |
sub1_41.txt | AC | 22 ms | 8200 KiB |
sub1_42.txt | AC | 24 ms | 8184 KiB |
sub1_43.txt | AC | 24 ms | 8240 KiB |
sub1_44.txt | AC | 26 ms | 8184 KiB |
sub1_45.txt | AC | 31 ms | 10996 KiB |
sub1_46.txt | AC | 25 ms | 8344 KiB |
sub1_47.txt | AC | 24 ms | 8292 KiB |
sub1_48.txt | AC | 26 ms | 8332 KiB |
sub1_49.txt | AC | 25 ms | 8888 KiB |
sub1_50.txt | AC | 23 ms | 8356 KiB |
sub1_51.txt | AC | 21 ms | 8152 KiB |
sub1_52.txt | AC | 16 ms | 7456 KiB |
sub1_53.txt | AC | 11 ms | 7132 KiB |
sub1_54.txt | AC | 25 ms | 8260 KiB |
sub1_55.txt | AC | 23 ms | 8304 KiB |