Time Limit: 2 sec / Memory Limit: 256 MB
問題文
あるピアニストは両手を使って、2 つの曲を同時に演奏することができます。つまり、右手と左手で異なる曲を同時に演奏します。
片方の曲の演奏時間は A 秒で、もう片方の曲の演奏時間は B 秒です。
このピアニストはこれら異なる 2 曲を同時に演奏し始めます。よって、ステージ上にいる時間はこれらの演奏時間のうち長い方と一致します。
ピアニストがステージ上にいる時間を求めてください。
入力
入力は以下の形式で標準入力から与えられる
A B
- 1 行目にはピアニストが弾く 2 曲の演奏時間を表す 2 つの整数 A,B(1 ≦ A,B ≦ 1000) が空白区切りで与えられる。
出力
ピアニストがステージ上にいる時間を 1 行で出力せよ。出力の末尾には改行をいれること。
入力例1
5 10
出力例1
10
5 秒と 10 秒では 10 秒のほうが長いので答えは 10 秒です。
入力例2
600 600
出力例2
600
どちらの曲も 600 秒で演奏し終わります。よってこのピアニストはステージ上に 600 秒います。
入力例3
250 200
出力例3
250
Time Limit: 2 sec / Memory Limit: 256 MB
問題文
高橋君は健康のために N 日間ウォーキングをしました。
歩数は日によって違います。i 日目に歩いた歩数は a_i 歩です。
高橋君の元々の目標は計 K 歩歩くことでした。高橋君は何日目にその目標が達成されたか気になりました。
高橋君が歩いた歩数の情報が与えられるので、何日目に累計 K 歩を達成したか求めてください。
入力
入力は以下の形式で標準入力から与えられる
N K a_1 a_2 : a_N
- 1 行目には高橋君がウォーキングをした日数 N (1 ≦ N ≦ 10^5)と目標の歩数 K (1 ≦ K ≦ 10^9) が空白区切りで与えられる。
- 2 行目からの N 行のうち i 行目には高橋君が i 日目に歩いた歩数a_i (1 ≦ a_i ≦ 10^5) が与えられる。
- いずれかの日に目標が達成されることが保証されている。
出力
高橋君が目標を達成した日を 1 行で出力せよ。出力の末尾には改行をいれること。
入力例1
6 100 30 10 40 10 50 10
出力例1
5
1日目の累計歩数は 30 歩。 2日目の累計歩数は 40 歩。 3日目の累計歩数は 80 歩。 4日目の累計歩数は 90 歩。 5日目の累計歩数は 140 歩。 よって 5 日目に目標の 100 歩が達成されます。
入力例2
6 200 100 100 100 100 100 100
出力例2
2
2 日目にちょうど累計 200 歩となり、目標が達成されます。
Time Limit: 2 sec / Memory Limit: 256 MB
問題文
高橋君は錬金術のプロフェッショナルです。
この世界の金属には、 2N 文字( N は整数)からなる名前が付けられており、名前は全て大文字アルファベットで構成されています。
高橋君が既存の金属 S1, S2 から新たな金属 S3 を錬金できる条件は、S1,S2 からそれぞれ N 文字ずつ取り出してきて、それらの文字を適当に並べ替えた結果、 S3 と一致するときです。
3 つの金属の名前S1, S2, S3が与えられるので S1, S2 から S3 が錬金できるか判定してください。
入力
入力は以下の形式で標準入力から与えられる
S1 S2 S3
- 1 行目には錬金の材料となる 1 つめの金属の名前 S1 が与えられる。
- 2 行目には錬金の材料となる 2 つめの金属の名前 S2 が与えられる。
- 3 行目には生成したい金属の名前 S3 が与えられる。
- S1, S2, S3は大文字アルファベットのみから構成される。
- S1, S2, S3の文字数は等しく、偶数である。
- 2 ≦ | S1 | ≦ 10^5 が常に成り立つ。
出力
もしS1, S2からS3が錬金可能ならばYES
、錬金不可能ならばNO
と1行で出力せよ。
入力例1
AABCCD ABEDDA EDDAAA
出力例1
YES
1 つ目の金属から AAD
、 2 つ目の金属から AED
を取り出せば、 EDDAAA
を作ることができます。
入力例2
AAAAAB CCCCCB AAABCB
出力例2
NO
1 つ目の金属から少なくとも 4 文字取り出さなければならないので錬金できません。
Time Limit: 2 sec / Memory Limit: 256 MB
問題文
高橋君は登山家で、いまある山脈を登っています。
この山脈には N 個の山小屋が東西へ一直線上に並んでおり、各山小屋には西から東へ順番に、 1 から N までの番号がつけられています。
i 番目の山小屋は標高 h_i のところに建てられています。
高橋君は各山小屋から、いくつの山小屋を見ることが出来るのか気になりました。
i 番目の山小屋から j 番目の山小屋が見える条件は、その間にある山小屋と j 番目の山小屋の標高が全て h_i 以下であることです。
各山小屋から見ることが出来る山小屋の個数を求めてください。
なお、 i 番目の山小屋から見ることができる山小屋に i 番目の山小屋自身は含まれません。
入力
入力は以下の形式で標準入力から与えられる
N h_1 h_2 : h_N
- 1 行目には山小屋の数 N (1 ≦ N ≦ 10^5) が与えられる。
- 2 行目からの N 行のうち i 行目には i 番目の山小屋の標高を表す整数 h_i (1 ≦ h_i ≦ 10^5) が与えられる。
部分点
この問題には部分点が設定されている。
- 1 ≦ N ≦ 3,000を満たすデータセットに正解した場合は 30 点が与えられる。
- 1 ≦ N ≦ 10^5を満たすデータセットに正解した場合はさらに 70 点が与えられる。合計で100点となる。
出力
出力は N 行からなる。 i 行目には i 番目の山小屋から見える山小屋の個数を出力せよ。
入力例1
3 1 2 3
出力例1
0 1 2
どの山小屋もそれ自身より西側にある全ての山小屋のみを見ることができます。
入力例2
5 1 2 3 2 1
出力例2
0 1 4 1 0
1, 5 番目の山小屋はどの山小屋も見ることができません。 2 番目の山小屋は 1 番目の山小屋を見ることができます。 4 番目の山小屋は 5 番目の山小屋を見ることができます。 3 番目の山小屋はそれ以外すべての山小屋を見ることができます。
入力例3
5 3 2 1 2 3
出力例3
4 2 0 2 4
それ自身と同じ標高の山小屋もギリギリ見えることに注意してください。
入力例4
8 4 3 2 3 4 3 2 1
出力例4
7 2 0 2 7 2 1 0