QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 4096 MB Total points: 100 Difficulty: [show]

#13648. Запросы A + B

الإحصائيات

Жители Кечуа приветствуют вас на IOI 2025 особым подарком: двумя массивами $A$ и $B$, каждый длины $N$. Элементы в обоих массивах индексируются от $0$ до $N - 1$.

Чтобы убедиться, что вы бережно относитесь к их подарку, они зададут вам $Q$ вопросов, по одному за раз. Каждый вопрос состоит из двух индексов, $i$ и $j$, и звучит так: какова сумма $A[i]$ и $B[j]$?

Детали реализации

Первая процедура, которую вы должны реализовать:

void initialize(std::vector<int> A, std::vector<int> B)
  • $A, B$: два массива длины $N$, подарок жителей Кечуа.
  • Эта процедура вызывается ровно один раз для каждого теста, перед любыми вызовами answer_question.

Вторая процедура, которую вы должны реализовать:

int answer_question(int i, int j)
  • $i, j$: целые числа, описывающие вопрос.
  • Эта процедура вызывается $Q$ раз.
  • Эта процедура должна возвращать сумму $A[i]$ и $B[j]$.

Ограничения

  • $1 \le N \le 200\,000$
  • $0 \le A[k], B[k] \le 10^9$ для каждого $k$, такого что $0 \le k < N$.
  • $1 \le Q \le 200\,000$
  • $0 \le i, j < N$ в каждом вопросе.

Подзадачи

Подзадача Баллы Дополнительные ограничения
1 25 Все элементы в массиве $A$ равны, и все элементы в массиве $B$ равны.
2 35 $N \le 1000$
3 40 Нет дополнительных ограничений.

Примеры

Рассмотрим следующий вызов:

initialize([2, 1, 3], [0, 7, 8])

В этом случае $N = 3$, а подаренные вам массивы — $A = [2, 1, 3]$ и $B = [0, 7, 8]$.

Теперь рассмотрим следующий вызов:

answer_question(0, 1)

Этот вызов должен вернуть сумму $A[0] = 2$ и $B[1] = 7$, которая равна $9$.

Рассмотрим следующий вызов:

answer_question(2, 2)

Этот вызов должен вернуть $A[2] + B[2] = 3 + 8 = 11$.

Примеры

Входные данные 1

3
2 1 3
0 7 8
2
0 1
2 2

Выходные данные 1

9
11

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.