Submission #1068753

#TimeUsernameProblemLanguageResultExecution timeMemory
1068753jamjanekChoreography (IOI23_choreography)C++17
45 / 100
61 ms9928 KiB
#include "choreography.h" #include <bits/stdc++.h> using namespace std; vector<int> pos[2]; vector<int> perm; vector<int>pom; int shift; int n,i; void init(int N, std::vector<int> P) { n=N; pos[0].resize(n); pos[1].resize(n); pom.resize(n); for(int i=0;i<N;i++)pos[0][P[i]] = i; perm = P; for(i=0;i<n;i++) pom[perm[perm[i]]] = perm[i]; perm = pom; for(i=0;i<n;i++) pos[1][perm[i]]=i; i=0; return; } int shift1, shift2; void move_right(int k) { shift1 = (shift1+k)%n; return; } void move_left(int k) { shift1 = (shift1-k+n)%n; return; } void swap_places() { return; } void move_around() { i^=1; swap(shift1,shift2); shift1 = (n-shift1)%n; shift2 = (n-shift2)%n; return; } int get_position(int D){ return (pos[i][(D+shift2)%n]+shift1)%n; // return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...