Guest User

736b.cpp

a guest
Jun 26th, 2018
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.67 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.     int n, k, q;
  5.     scanf("%d %d %d", &n, &k, &q);
  6.      
  7.     static int arr[1+5000000];
  8.     for (int i = 1; i <= n; ++i) {
  9.         arr[i] = i;
  10.     }
  11.     static int answ[1+5000000];
  12.     int count = 0;
  13.     while (n >= k) {
  14.         int pos = k, saved = count;
  15.         for (int i = k; i <= n; ++i) {
  16.             if (i % k == 0) {
  17.                 answ[arr[i]] = ++count;
  18.             } else {
  19.                 arr[pos++] = arr[i];
  20.             }
  21.         }
  22.         n -= (count-saved);
  23.     }
  24.      
  25.     while (q--) {
  26.         int item;
  27.         scanf("%d", &item);
  28.         printf("%d\n", answ[item]);
  29.     }
  30.      
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment