제출 #1226203

#제출 시각아이디문제언어결과실행 시간메모리
1226203adam17Abracadabra (CEOI22_abracadabra)C++20
10 / 100
1004 ms589824 KiB
#include <iostream> #include <vector> using namespace std; int N, Q; vector<vector<int>> A; int main() { cin >> N >> Q; A.resize(N + 1); A[0].resize(N); for (int i = 0; i < N; i++) { cin >> A[0][i]; // A[0][i]--; // cout << A[0][i] << ' '; } // cout << endl; for (int i = 1; i < N + 1; i++) { // cout << "pocitam t = " << i << endl; A[i].resize(N); int x = 0, y = N / 2; while ((x < N / 2) && (y < N)) { if (A[i - 1][x] < A[i - 1][y]) { A[i][x + y - N / 2] = A[i - 1][x]; // cout << "X\n"; x++; } else { A[i][x + y - N / 2] = A[i - 1][y]; // cout << "Y\n"; y++; } } while (x < N / 2) { A[i][x + y - N / 2] = A[i - 1][x]; // cout << "x0\n"; x++; } while (y < N) { A[i][x + y - N / 2] = A[i - 1][y]; // cout << "y0\n"; y++; } for (int j = 0; j < N; j++) { // cout << A[i][j] << ' '; } // cout << endl; } for (int q = 0; q < Q; q++) { int t, i; cin >> t >> i; i--; cout << A[min(t, N)][i] << endl; } 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...