Universal Cup Judging System

Universal Cup

时间限制: 4.0 s 内存限制: 1024 MB 总分: 100 可 Hack ✓
统计

長さ $k$ の整数列 $A = a_1, a_2, \dots, a_k$ が与えられます。この数列を、各要素がいずれか一つの部分配列に属するように、空でないいくつかの連続する部分配列に分割することができます。各部分配列について、その要素の和を計算します。和が奇数である部分配列の数を $p$、和が偶数である部分配列の数を $q$ とします。

この数列に関する $m$ 個のクエリに答える必要があります。各クエリは整数 $r$ で表され、$p + q = r$ という条件の下で、$p$ の最大値および $q$ の最大値をそれぞれ求める必要があります。

数列 $A$ は長くなる可能性があるため、ランレングス符号化を用いて記述します。より形式的には、$n$ 個の整数の組 $(v_1, l_1), (v_2, l_2), \dots, (v_n, l_n)$ が与えられ、数列 $A$ は次のように生成されます。空の数列から開始し、まず $v_1$ を数列の末尾に $l_1$ 回追加し、次に $v_2$ を数列の末尾に $l_2$ 回追加し、……、最後に $v_n$ を数列の末尾に $l_n$ 回追加します。例については、以下の入出力例の解説を参照してください。

入力

各テストファイルには1つのテストケースのみが含まれます。

1行目には2つの整数 $n$ と $m$ ($1 \le n, m \le 2 \times 10^5$) が与えられ、それぞれ数列のランレングス符号化の長さとクエリの数を表します。

続く $n$ 行の各行には、2つの整数 $v_i$ と $l_i$ ($1 \le v_i, l_i \le 10^9$) が与えられます。したがって、数列 $A$ の長さ $k$ は $k = \sum_{i=1}^{n} l_i$ として計算できます。すべての $1 \le i < n$ に対して $v_i \neq v_{i+1}$ であることが保証されています。

続く $m$ 行の各行には、整数 $r_i$ ($1 \le r_i \le k$) が与えられ、それぞれ $i$ 番目のクエリを表します。

出力

各クエリに対して、$p + q = r$ という条件の下での $p$ の最大値と $q$ の最大値を、スペース区切りで1行に出力してください。

入出力例

入力 1

3 6
5 3
2 2
7 1
1
2
3
4
5
6

出力 1

0 1
2 2
2 1
4 2
4 3
4 2

注記

サンプルケースでは、$A = 5, 5, 5, 2, 2, 7$ です。 2番目のクエリでは、数列を2つの連続する部分配列に分割する必要があります。

  • 和が奇数である部分配列の数を最大化するために、$A$ を $5, 5, 5 \mid 2, 2, 7$ に分割できます。どちらの部分配列も和が奇数であるため、$p$ の最大値は 2 です。
  • 和が偶数である部分配列の数を最大化するために、$A$ を $5, 5 \mid 5, 2, 2, 7$ に分割できます。どちらの部分配列も和が偶数であるため、$q$ の最大値は 2 です。

5番目のクエリでは、数列を5つの連続する部分配列に分割する必要があります。

  • 和が奇数である部分配列の数を最大化するために、$A$ を $5 \mid 5 \mid 5 \mid 2, 2 \mid 7$ に分割でき、そのうち 4 つが奇数の和を持つため、$p$ の最大値は 4 です。
  • 和が偶数である部分配列の数を最大化するために、$A$ を $5, 5 \mid 5 \mid 2 \mid 2 \mid 7$ に分割でき、そのうち 3 つが偶数の和を持つため、$q$ の最大値は 3 です。

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.