A - おいしいたこ焼きの作り方

実行時間制限: 2 sec / メモリ制限: 64 MB

問題文

高橋君はたこ焼き屋をはじめることにしました。
たこ焼きを1つ作るのに必要な小麦粉の量xグラムと、高橋くんが今持っている小麦粉の量yグラムが与えられるので高橋くんが最大でいくつたこ焼きを作れるか出力して下さい。
A問題では、提出した結果、全てのテストに対する判定がWAまたはREになってしまった場合のみ、質問タブにて可能な限りのトラブルシューティングを受け付けます。
提出結果のURLを添えて、お気軽にご質問ください。
よくある質問も、併せてご活用ください。

入力

入力は以下の形式で標準入力から与えられる。
x y
たこ焼きを1つ作るのに必要な小麦粉の量を表す整数x(1≦x≦100)と、高橋くんが今持っている小麦粉の量を表す整数y(1≦y≦100)が半角スペース区切りで与えられる。

出力

高橋くんが最大でいくつたこ焼きを作れるか出力して下さい。
また、出力の末尾には改行を入れて下さい。

入力例 1

4 8

出力例 1

2
  • 8/4=2

入力例 2

4 7

出力例 2

1
  • 7/4=1.75

入力例 3

4 3

出力例 3

0
  • 高橋くんは1つもたこ焼きを作ることができません。
B - おいしいたこ焼きの食べ方

実行時間制限: 2 sec / メモリ制限: 64 MB

問題文

高橋君は試作したたこ焼きを食べることにしました。

高橋君は熱々のたこ焼きが好きなので、できてすぐのたこ焼きから食べます。

それぞれのたこ焼きが何秒前にできたかが与えられるので、一番できたてのたこ焼きが何秒前にできたか出力して下さい。


入力

入力は以下の形式で標準入力から与えられる。
N
T1
T2
:
TN
  • 1行目にたこ焼きの個数を表す整数 N(1≦N≦100) が与えられます。
  • 続く N 行にはそれぞれのたこ焼きが何秒前にできたかを表す整数 Ti(1≦Ti≦100) が与えられます。

出力

一番できたてのたこ焼きが何秒前にできたか出力して下さい。
また、出力の末尾には改行を入れて下さい。

入力例 1

3
1
2
3

出力例 1

1
  • 一番できたてのたこ焼きは1秒前にできたものです。

入力例 2

3
3
3
3

出力例 2

3
  • たこ焼きはすべて 3 秒前にできたものです。

入力例 3

5
3
1
4
1
5

出力例 3

1
C - おいしいたこ焼きの売り方

実行時間制限: 2 sec / メモリ制限: 64 MB

問題文

高橋君は、たこ焼きをどの順番で売るか悩んでいました。というのも、作り置きされたたこ焼きは美味しくないとわかっているので、高橋君はそのようなたこ焼きを売りたくないのですが、できたてばかり売ってしまうと売れるたこ焼きの数が減ってしまいます。

また、お客さんを待たせてばかりだと、次第にお客さんが離れてしまうだろうと高橋君は考えています。
そこで、彼は T 秒以内に作成されたたこ焼きを売り続けることで、お客さんを捌ききれるかどうかを調べることにしました。

たこ焼きは A_1A_2、…、A_N 秒後に焼きあがります。
お客さんは B_1B_2、…、B_M 秒後にやってきます。
1 人のお客さんに対して、たこ焼きを 1 つ売るとします。すべてのお客さんにたこ焼きを売れるならyes、売れないならnoを出力して下さい。


入力

入力は以下の形式で標準入力から与えられる。
T
N
A_1 A_2 ... A_N
M
B_1 B_2 ... B_M
  1. 1 行目に、何秒以内のたこ焼きまで売るかを表す整数T(1≦T≦100)が与えられます。
  2. 2 行目に、高橋君が作成するたこ焼きの総数を表す整数N(1≦N≦100)が与えられます。
  3. 3 行目に、それぞれのたこ焼きが何秒後にできるかを表す整数 Ai(1≦Ai≦100、A1≦A2≦...≦AN) が半角スペース区切りで N 個与えられます。
  4. 4 行目に、来店するお客さんの人数を表す整数M(1≦M≦100)が与えられます。
  5. 5 行目に、それぞれのお客さんが何秒後に来るかを表す整数 Bi(1≦Bi≦100、B1≦B2≦...≦BM) が半角スペース区切りで M 個与えられます。

出力

すべてのお客さんにたこ焼きをすぐ売れるならyes、売れないならnoを出力して下さい。

また、出力の末尾には改行を入れて下さい。


入力例 1

1
3
1 2 3
3
2 3 4

出力例 1

yes
  • それぞれのお客さんに 1 秒前にできたたこ焼きを売ると、すべてのお客さんにたこ焼きを売ることができます。

入力例 2

1
3
1 2 3
3
2 3 5

出力例 2

no
  • 最後のお客さんにたこ焼きを売ることができません。

入力例 3

1
3
1 2 3
10
1 2 3 4 5 6 7 8 9 10

出力例 3

no
  • 高橋くんのたこ焼き屋は大人気です。

入力例 4

1
3
1 2 3
3
1 2 2

出力例 4

no
  • 3 人目のお客さんを待たせてしまいます。

入力例 5

2
5
1 3 6 10 15
3
4 8 16

出力例 5

yes
D - おいしいたこ焼きの焼き方

実行時間制限: 5 sec / メモリ制限: 256 MB

問題文

高橋君のたこ焼き屋で使っているたこ焼き器は焼く場所によって美味しさの変わるクセの強いたこ焼き器です。
また、店員の力量によって一度に焼けるたこ焼きの数が違います。
高橋君はそれぞれの店員ができるだけ美味しくたこ焼きを焼けるようにしようと思いました。

たこ焼き器はN×Nの正方形をしています。
それぞれの場所ごとにたこ焼きの美味しさD_{ij}が決まっています。
それぞれの店員は一度に焼けるたこ焼きの上限P_kが決まっています。
また、一度に焼くたこ焼きは必ずたこ焼き器の長方形の部分になっていて、その中の全てを使わなければなりません。
それぞれの店員について一度に焼けるたこ焼きの美味しさの合計の最大値を求めて下さい。
ただし、店員が焼き始める時はたこ焼き器が完全に空いていてどの場所でも使えるとします。

入力

入力は以下の形式で標準入力から与えられる。
N
D_{11} D_{12} ... D_{1N}
D_{21} D_{22} ... D_{2N}
...
D_{N1} D_{N2} ... D_{NN}
Q
P_1
P_2
...
P_Q
  • 1行目にたこ焼き器の一辺の大きさを表す整数N(1≦N≦50)が与えられます。
  • 続くN行にたこ焼き器のそれぞれの場所で焼けるたこ焼きの美味しさを表す整数D_{ij}(1≦D_{ij}≦100)が与えられます。
  • 次の行に店員の人数を表す整数Q(1≦Q≦N^2)が与えられます。
  • 続くQ行にそれぞれの店員が焼けるたこ焼きの数を表す整数P_k(1≦P_k≦N^2)が与えられます。

出力

それぞれの店員について一度に焼けるたこ焼きの美味しさの合計の最大値を出力して下さい。
また、出力の末尾には改行を入れて下さい。

部分点

1≦N≦5を満たすテストケース全てに正解すると、100点満点のうち 50点が与えられる。


入力例 1

3
3 2 1
2 2 1
1 1 1
3
1
4
9

出力例 1

3
9
14
  • 1人目の店員は左上でたこ焼きを焼くと美味しさの合計が3になります。
  • 2人目の店員は左上の2×2の範囲でたこ焼きを焼くと美味しさの合計が9になります。
  • 3人目の店員はたこ焼き器全てを使えるので美味しさの合計が14になります。
これは部分点に含まれる入力になります。

入力例 2

3
1 1 1
1 1 1
9 9 9
1
4

出力例 2

27
  • 一番下の列の範囲1×3でたこ焼きを焼くと美味しさの合計が27になります。
  • この店員はたこ焼きを4個焼くことができますが、3個しか焼かないほうが美味しさの合計が大きくなります。
これは部分点に含まれる入力になります。