Time Limit: 2 sec / Memory Limit: 1024 MiB
配点: 100 点
問題文
2 つの整数 A, B が与えられる.A+B, A-B の中で最大の値と最小の値を順に出力せよ.
制約
- -100 \leqq A \leqq 100.
- -100 \leqq B \leqq 100.
入力
入力は以下の形式で標準入力から与えられる.
A B
出力
出力は 2 行からなる.
1 行目に,A+B, A-B の中で最大の値を出力せよ.
2 行目に,A+B, A-B の中で最小の値を出力せよ.
入力例 1
-2 1
出力例 1
-1 -3
- (-2)+1=-1
- (-2)-1=-3
であるので,これらの最大値である -1 と,これらの最小値である -3 を改行区切りで出力する.
入力例 2
-3 -4
出力例 2
1 -7
- (-3)+(-4)=-7
- (-3)-(-4)=1
であるので,1 行目に 1 を,2 行目に -7 を出力する.
入力例 3
5 0
出力例 3
5 5
Time Limit: 2 sec / Memory Limit: 1024 MiB
配点: 100 点
問題文
長さが奇数 N の文字列 S が与えられる.S の各文字は英大文字である.
IOI 文字列とは次の条件をすべて満たす文字列である.
- 長さが奇数である.
- 各文字は
IまたはOで,これらが交互に連なる. - 1 文字目は
Iである.
例えば,I,IOI,IOIOIOI は IOI 文字列であるが,JOI,IIOOII,OIOIO は IOI 文字列ではない.
あなたは次の操作を 0 回以上繰り返すことができる.
- 文字列 S の文字を 1 つ選び,好きな英大文字に変更する.
文字列 S を IOI 文字列にするのに必要な操作の回数の最小値を求めよ.
制約
- 1 \leqq N \leqq 99.
- N は奇数である.
- S は長さ N の文字列である.
- S の各文字は英大文字である.
入力
入力は以下の形式で標準入力から与えられる.
N S
出力
文字列 S を IOI 文字列にするのに必要な操作の回数の最小値を出力せよ.
入力例 1
5 JJOOI
出力例 1
3
例えば,次のように操作することで, 3 回の操作により S を IOI 文字列にできる.
- S の 1 文字目を
Iに変更する. - S の 2 文字目を
Oに変更する. - S の 3 文字目を
Iに変更する.
3 回未満の操作で S を IOI 文字列にすることはできないため,3 を出力する.
入力例 2
7 IOIOIOI
出力例 2
0
操作が必要ないこともある.
入力例 3
7 BEAVERS
出力例 3
7
入力例 4
5 OIOIO
出力例 4
5
Time Limit: 2 sec / Memory Limit: 1024 MiB
配点: 100 点
問題文
長さ N の整数列 A = (A_1, A_2, \ldots, A_N) と長さ M の整数列 B = (B_1, B_2, \ldots, B_M) が与えられる.
次の条件をすべて満たす 2 つの整数の組 (i,j) の個数を求めよ.
- 1 \leqq i \leqq N.
- 1 \leqq j \leqq M.
- A_i \leqq B_j.
制約
- 1 \leqq N \leqq 100.
- 1 \leqq M \leqq 100.
- 1 \leqq A_i \leqq 2\,000 (1 \leqq i \leqq N).
- 1 \leqq B_j \leqq 2\,000 (1 \leqq j \leqq M).
入力
入力は以下の形式で標準入力から与えられる.
N M A_1 A_2 \cdots A_N B_1 B_2 \cdots B_M
出力
A_i \leqq B_j を満たす (i,j) の個数を出力せよ.
入力例 1
5 4 3 8 10 5 5 1 5 4 9
出力例 1
8
(1,2), (1,3), (1,4), (2,4), (4,2), (4,4), (5,2), (5,4) の 8 つの組が条件を満たすので,8 を出力する.
入力例 2
3 5 2000 2000 2000 1 1 1 1 1
出力例 2
0
条件を満たす (i,j) の組は存在しないので 0 を出力する.
入力例 3
1 1 1000 1000
出力例 3
1
入力例 4
10 10 3 1 4 1 5 9 2 6 5 3 2 7 1 8 2 8 1 8 2 8
出力例 4
58