Submission #692220

#TimeUsernameProblemLanguageResultExecution timeMemory
692220bdlIntercastellar (JOI22_ho_t1)C++17
100 / 100
115 ms7628 KiB
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")

#include <array>
#include <iostream>
using namespace std;

#define ar array

const int N = 2e5;

int main() {
  int n;
  scanf("%d", &n);
  static ar<int, 2> a[N];
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i][0]);
    a[i][1] = 1;
    while (a[i][0] % 2 == 0)
      a[i][0] /= 2, a[i][1] *= 2;
  }
  int i = 0;
  long long p = 0;
  int q;
  scanf("%d", &q);
  while (q--) {
    long long x;
    scanf("%lld", &x);
    x -= p;
    while (a[i][1] < x)
      x -= a[i][1], p += a[i][1], i++;
    printf("%d\n", a[i][0]);
  }
  return 0;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:14:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |   scanf("%d", &n);
      |   ~~~~~^~~~~~~~~~
Main.cpp:17:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |     scanf("%d", &a[i][0]);
      |     ~~~~~^~~~~~~~~~~~~~~~
Main.cpp:25:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   25 |   scanf("%d", &q);
      |   ~~~~~^~~~~~~~~~
Main.cpp:28:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   28 |     scanf("%lld", &x);
      |     ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...