A - 帰省 (Homecoming)

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 100

問題文

ビーバーのビ太郎は帰省することにした.今日から A 日後の午前に実家に着き,今日から B 日後の午前に実家を去る.それを聞きつけたビーバーのビバ子は,今日から C 日後の午後にビ太郎の実家を訪れることにした.ビバ子がビ太郎に会えるか判定せよ.

制約

  • 1 \leqq A < B \leqq 100
  • 1 \leqq C \leqq 100

入力

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

A B C

出力

ビバ子がビ太郎に会える場合は 1 を,そうでない場合は 0 を出力せよ.


入力例 1

2 5 3

出力例 1

1

ビ太郎は 2 日後の午前から 5 日後の午前まで帰省する.それに対し,ビバ子は 3 日後の午後にビ太郎の実家を訪れる.したがって,ビバ子はビ太郎に会えるので,1 を出力する.

ビ太郎の帰省とビバ子の訪問の様子


入力例 2

20 22 19

出力例 2

0

ビ太郎は 20 日後の午前から 22 日後の午前まで帰省する.それに対し,ビバ子は 19 日後の午後にビ太郎の実家を訪れるが,このときビ太郎はまだ帰省していない.したがって,ビバ子はビ太郎に会えないので,0 を出力する.


入力例 3

24 30 30

出力例 3

0

入力例 4

1 100 99

出力例 4

1
B - ビ太郎と IOI (Bitaro and IOI)

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 100

問題文

長さ N の文字列 S が与えられる.S の各文字は BITARO のいずれかである.

文字列 S の (連続しているとは限らない) 部分列に IOI が存在するか判定せよ.つまり,次の条件を満たす 3 つの整数の組 (i,j,k) が存在するか判定せよ.

  • 1 \leqq i < j < k \leqq N
  • Si 文字目は I である.
  • Sj 文字目は O である.
  • Sk 文字目は I である.

制約

  • 1 \leqq N \leqq 100
  • S は長さ N の文字列である.
  • S の各文字は BITARO のいずれかである.

入力

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

N
S

出力

文字列 S の部分列に IOI が存在する場合は Yes を,そうでない場合は No を出力せよ.


入力例 1

8
BITAROOI

出力例 1

Yes

3 つの整数の組 (2,6,8)(2,7,8) は問題文中の (i,j,k) の条件を満たす.つまり,文字列 S の部分列に IOI が存在するので,Yes を出力する.


入力例 2

6
BBOOII

出力例 2

No

文字列 S の部分列に IOI は存在しないので,No を出力する.


入力例 3

5
IOIOI

出力例 3

Yes

入力例 4

9
RATRATRAT

出力例 4

No

入力例 5

1
A

出力例 5

No
C - 分割 (Split)

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 100

問題文

長さ N の整数列 A = (A_1, A_2, \ldots, A_N) が与えられる.数列 A の値はすべて異なる.

最大値で数列を分割したとき,最大値より前にある値の和と,最大値より後ろにある値の和を出力せよ.

すなわち,数列 A の最大値を A_x とすると,A_1 + A_2 + \cdots + A_{x-1}A_{x+1} + A_{x+2} + \cdots +A_N を出力せよ.

ただし最大値より前に値がない場合,最大値より前にある値の和は 0 になる.

同様に最大値より後ろに値がない場合,最大値より後ろにある値の和は 0 になる.

制約

  • 1 \leqq N \leqq 100
  • 1 \leqq A_i \leqq 2000 (1 \leqq i \leqq N).
  • A_i \neq A_j (1 \leqq i < j \leqq N).

入力

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

N
A_1 A_2 \cdots A_N

出力

出力は 2 行からなる.

1 行目に,整数列 A の,最大値より前にある値の和を出力せよ.

2 行目に,整数列 A の,最大値より後ろにある値の和を出力せよ.


入力例 1

5
9 3 16 8 1

出力例 1

12
9

この数列の最大値は 16 である.よって 16 より前にある 9,3 の和である 12 と,16 より後ろにある 8,1 の和である 9 を改行区切りで出力する.


入力例 2

6
121 8 5 4 1 3

出力例 2

0
21

この数列の最大値は 121 である.121 より前に値はないので最初に 0 を出力する.続けて 121 より後ろにある 8,5,4,1,3 の和である 21 を出力する.


入力例 3

1
2000

出力例 3

0
0

最大値の前後に値がないかもしれない.


入力例 4

10
9 12 30 63 55 8 10 1 27 13

出力例 4

51
114