1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Bランク・スキルチェック見本問題セット(言語選択)
  4. 問題一覧 PHP編
  5. 長テーブルのうなぎ屋 (力試し編) PHP編

Bランク・スキルチェック見本問題セットのサムネイル
長テーブルのうなぎ屋 (力試し編) PHP編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

これは、B ランクの問題の見本です。試しに解いてみましょう。
現時点では自力で正解することができない場合は、この問題を飛ばして次の問題に進んでください。
この問題の後に続く 6 つの問題に順番に取り組むことで、
この「長テーブルのうなぎ屋」の問題を解くために必要な知識や考えた方を身につけることができます。
B ランク獲得に向けた学習にお役立てください。


東京の下町に長テーブルで有名な老舗うなぎ屋がありました。

そのうなぎ屋にはとても大きい長テーブルがあり、テーブルの周りにn個の座席が配置されています。
座席には、時計回りに1, 2, …, nと番号が振られています。
座席はテーブルの周りに配置されているので、座席番号nの座席と1の座席は隣接しています。



今、m個のグループの人達が座席に順番に座りに来ます。i番目(1≦i≦m)のグループの人数をa_i人とします。
彼らは、長テーブルに並んだ座席の内、ある連続するa_i個の座席に一斉に座ろうとします。

ただしお客さんは江戸っ子なので、それら座席のうち、いずれか一つでも既に先客に座られている座席があった場合、
一人も座らずにグループ全員で怒って帰ってしまいます。江戸っ子は気が早いんでぃ。

入力では、i番目のグループが座ろうとする連続した座席の位置は、整数b_iにより指定されます。
i番目のグループは、座席番号b_iの座席を始点として、そこから時計回りにa_i個分の座席に座ろうとします。

最後のグループが座りに来た後、無事に長テーブルの座席に着席出来ている人数を出力するプログラムを作成してください。

入力される値

入力は以下のフォーマットで与えられます。

n m
a_1 b_1
a_2 b_2
...
a_m b_m

・入力はm+1行から成ります。
・1行目にはn(座席数)とm(グループ数)が半角スペース区切りで入力されます。
・i+1行目(1≦i≦m)には2個の整数a_i(グループの人数)とb_i(着席開始座席番号)が半角スペース区切りで入力されます。
・入力値最終行の末尾に改行が1つ入ります。
・文字列は標準入力から渡されます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

最後のグループが座りに来た後、無事に座席に着席出来ている人数を1行で出力してください。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ n ≦ 100
・1 ≦ m ≦ 100
・1 ≦ a_i ≦ n
・1 ≦ b_i ≦ n

入力例1

6 3
3 2
1 6
2 5

出力例1

4

入力例2

12 6
4 6
4 8
4 10
4 12
4 2
4 4

出力例2

12

問題一覧へ戻る

ページの先頭へ戻る