AtCoder Regular Contest 020
C
A mod B Problem
AtCoder
⌀ 2141
原题
← BD →
翻译中…

Problem Statement

翻译中…

高橋君が高校生の頃参加していたコンテストでは、$2$ つの整数の和を求める問題が出題されたことがありました。あんなものは最強最速の手に掛かればお茶の子さいさいでした。

翻译中…

大学生になった高橋君は、現在あなたと大学生向けのコンテストに参加している真っ最中です。しかし、得意な言語を使う際に必要な統合開発環境が壊れていて、問題を解くどころではないらしいのです。 そこで、チームメイトであるあなたは、統合開発環境の問題が審判団によって対応されるまでに、彼の代わりに以下の問題を解いておくことにしました。

翻译中…

整数 $A$ と $B$ が与えられる。 $A$ を $B$ で割った余りを出力しなさい。ただし、整数 $A$ と整数 $B$ について以下のような特徴があります。

翻译中…
  • 整数 $A$, $B$ はどちらも $10$ 進数である。
  • 整数 $B$ は $100$ 点中 $99$ 点分のテストケースで $B=1000000007(10^9+7)$ を満たしている。
  • 整数 $A$ は非常に大きく、かつ部分的に周期性を持ち、以下のような形式で与えられる。
翻译中…

例えば、 $N=3,a=\{123,4,56\},L=\{2,2,1\},B=1000000007$のとき、$A=1231234456$であり、$A$ を $B$ で割った余りは $231234449$ です。

翻译中…

Input

翻译中…

入力は以下の形式で標準入力から与えられる。

翻译中…

N
a_1\ L_1
a_2\ L_2
:
a_N\ L_N
B

翻译中…
  • $1$ 行目には、後に続く整数 $A$ の情報の長さを表す整数 $N (1 ≦ N ≦ 10,000)$ が与えられる。
  • $2$ 行目から $N$ 行では、整数 $A$ の情報が与えられる。このうち $i$ 行目では問題文中の $a_i (1 ≦ a_i ≦ 10^9)$ と $L_i (1 ≦ L_i ≦ 10^9)$ が半角スペース区切りで与えられる。
  • $N+2$ 行目では、整数 $B (1 ≦ B ≦ 1,000,000,007)$ が与えられる。
翻译中…

部分点

翻译中…

この問題には3つのデータセットがあり、データセット毎に部分点が設定されている。

翻译中…
  • $L_1+L_2+..+L_N ≦ 100,000$ かつ、$B=1000000007$ を満たすデータセット 1 に正解した場合は $20$ 点が与えられる。
  • $B=1000000007$ を満たすデータセット 2 に正解した場合は、上記のデータセットとは別に $79$ 点が与えられる。
  • 追加制約のないデータセット 3 に正解した場合は、上記のデータセットとは別に $1$ 点が与えられる。
翻译中…

Output

翻译中…

$A$ を $B$ で割った余りを $1$ 行に出力せよ。出力の末尾に改行をいれること。

翻译中…

样例

Input #1
3
123 2
4 2
56 1
1000000007
Output #1
231234449
問題文中の例です。
Input #2
1
123 3
1000000007
Output #2
123123123
$A=123123123$ です。
Input #3
1
123456789 10000
1000000007
Output #3
372735614
このテストケースはデータセット 1,2,3 の制約を満たしています。
Input #4
4
810143056 100000000
81671422 99999999
1639053 99999998
1657560 99999997
1000000007
Output #4
476685993
このテストケースはデータセット 2,3 の制約を満たしています。
Input #5
3
2 3
3 2
5 3
99
Output #5
36
このテストケースはデータセット 3 の制約を満たしています。
题目信息
题号
arc020_3
时间限制
2 s
内存限制
256 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。