제출 #847641

#제출 시각아이디문제언어결과실행 시간메모리
847641heavylightdecompChoreography (IOI23_choreography)C++17
45 / 100
66 ms6340 KiB
#include<bits/stdc++.h>
using namespace std;
const long long maxn = 1e5+5;
long long N;
struct row {
    vector<int> ar;
    int ch;
    friend void swap(row &a, row &b) {
        a.ar.swap(b.ar);
        swap(a.ch, b.ch);
    }
};
row x,y;
void init(int n, vector<int> p) {
    N = n;
    x.ar = vector<int>(N);
    y.ar = vector<int>(N);
    for(int i = 0; i < N; i++) {
        x.ar[i] = p[i]; // x to y
        y.ar[p[i]] = i; // y to x
    }
}
int fix(long long c) {
    c += maxn * N;
    return c % N;

}
void move_right(int K) {
    x.ch += K;
}
void move_left(int K) {
    x.ch -= K;
}
void swap_places() {
    
}
void move_around() {
    swap(x,y);
}

int get_position(int D) {
    /*
    Careful! 
    x[i] represents p[i+s mod N]
    x[i-s mod N] represents p[i], the intended value
    same for y
    */

   return fix(y.ar[fix(D-y.ch)] + x.ch);

}
#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...