実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 100 点
問題文
英小文字からなる長さ N の文字列 S が与えられます。
S の中で a と b が隣接する箇所があれば Yes を、なければ No を出力してください。(a と b の順序は問いません。)
制約
- 2 \leq N \leq 100
- S は英小文字からなる長さ N の文字列
入力
入力は以下の形式で標準入力から与えられる。
N S
出力
S の中で a と b が隣接する箇所があれば Yes を、なければ No を出力せよ。
入力例 1
3 abc
出力例 1
Yes
文字列 abc は 1 文字目にある a と 2 文字目にある b が隣接しています。よって Yes を出力してください。
入力例 2
2 ba
出力例 2
Yes
文字列 ba は 2 文字目にある a と 1 文字目にある b が隣接しています。(a と b の順番は逆でも良い点に注意してください。)
入力例 3
7 atcoder
出力例 3
No
Score : 100 points
Problem Statement
You are given a string S of length N consisting of lowercase English letters.
If there are any adjacent occurrences of a and b in S, print Yes; otherwise, print No. (The order of a and b does not matter.)
Constraints
- 2 \leq N \leq 100
- S is a string of length N consisting of lowercase English letters.
Input
The input is given from Standard Input in the following format:
N S
Output
If there are any adjacent occurrences of a and b in S, print Yes; otherwise, print No.
Sample Input 1
3 abc
Sample Output 1
Yes
The string abc has a as the first character and b as the second character, which are adjacent. Thus, print Yes.
Sample Input 2
2 ba
Sample Output 2
Yes
The string ba has a as the second character and b as the first character, which are adjacent. (Note that the order of a and b does not matter.)
Sample Input 3
7 atcoder
Sample Output 3
No
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 100 点
問題文
整数 N および、英小文字からなる長さが N 未満 の文字列 S が与えられます。
長さが N になるまで S の先頭に英小文字 o を追加し続けることで得られる文字列を出力してください。
制約
- 2\leq N \leq 100
- N は整数
- S は長さ 1 以上 N 未満の英小文字からなる文字列
入力
入力は以下の形式で標準入力から与えられる。
N S
出力
答えを出力せよ。
入力例 1
5 abc
出力例 1
ooabc
N=5、S の長さは 3 であるため、S の先頭に o を 5-3=2 個追加した文字列が答えとなります。
入力例 2
2 o
出力例 2
oo
入力例 3
12 vgxgpuam
出力例 3
oooovgxgpuam
Score : 100 points
Problem Statement
You are given an integer N and a string S consisting of lowercase English letters with length less than N.
Print the string obtained by repeatedly adding the lowercase English letter o to the beginning of S until its length becomes N.
Constraints
- 2\leq N \leq 100
- N is an integer.
- S is a string consisting of lowercase English letters with length between 1 and N - 1, inclusive.
Input
The input is given from Standard Input in the following format:
N S
Output
Print the answer.
Sample Input 1
5 abc
Sample Output 1
ooabc
Since N=5 and the length of S is 3, the answer is the string obtained by adding 5-3=2 os to the beginning of S.
Sample Input 2
2 o
Sample Output 2
oo
Sample Input 3
12 vgxgpuam
Sample Output 3
oooovgxgpuam
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 200 点
問題文
英小文字および英大文字のみからなる文字列 S, T が与えられます。
文字列 S が以下の条件を満たしているか判定してください。
- S の先頭でない英大文字の直前の文字はすべて T に含まれる。より形式的には、2 \leq i \leq |S| なる整数 i について S の i 番目の文字が英大文字ならば、S の i-1 番目の文字は T に含まれる。
制約
- S, T は長さ 1 以上 100 以下の英小文字および英大文字のみからなる文字列
入力
入力は以下の形式で標準入力から与えられる。
S T
出力
S が問題文中の条件を満たしているとき Yes と出力せよ。そうでないとき、No と出力せよ。
入力例 1
AtCoder Total
出力例 1
Yes
S の先頭でない英大文字は 3 番目の文字の C のみです。この直前の文字である t は T に含まれているため、Yes と出力すればよいです。
入力例 2
aBCdE abcdcba
出力例 2
No
S の 3 番目の文字は英大文字 C であり、その直前の文字は B ですが、B は T に含まれていません。
入力例 3
abcde XYZ
出力例 3
Yes
Score : 200 points
Problem Statement
You are given strings S and T consisting of lowercase and uppercase English letters.
Determine whether the string S satisfies the following condition:
- Every uppercase letter in S that is not at the beginning is immediately preceded by a character contained in T. More formally, for all integers i such that 2 \leq i \leq |S|, if the i-th character of S is uppercase, then the (i-1)-th character of S is contained in T.
Constraints
- Each of S and T is a string consisting of lowercase and uppercase English letters with length between 1 and 100, inclusive.
Input
The input is given from Standard Input in the following format:
S T
Output
If S satisfies the condition in the problem statement, output Yes. Otherwise, output No.
Sample Input 1
AtCoder Total
Sample Output 1
Yes
The only uppercase letter in S that is not at the beginning is the 3rd character C. The immediately preceding character t is contained in T, so output Yes.
Sample Input 2
aBCdE abcdcba
Sample Output 2
No
The 3rd character of S is the uppercase letter C, and its immediately preceding character is B, but B is not contained in T.
Sample Input 3
abcde XYZ
Sample Output 3
Yes
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 200 点
問題文
長さ N の整数列 A=(A_1,\ldots,A_N) が与えられます。ここで A_1,A_2,\ldots,A_N は相異なります。
A の中で二番目に大きい要素は A の何番目の要素でしょうか。
制約
- 2\leq N\leq 100
- 1\leq A_i \leq 10^9
- A_1,A_2,\ldots,A_N は相異なる
- 入力される数値は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N
A_1 A_2 \ldots A_{N}
出力
A の中で二番目に大きい要素が A の X 番目であるとき、X を整数として出力せよ。
入力例 1
4 8 2 5 1
出力例 1
3
A の中で二番目に大きい要素は A_3 なので 3 を出力してください。
入力例 2
8 1 2 3 4 5 10 9 11
出力例 2
6
Score : 200 points
Problem Statement
You are given an integer sequence A=(A_1,\ldots,A_N) of length N. Here, A_1, A_2, \ldots, A_N are all distinct.
Which element in A is the second largest?
Constraints
- 2 \leq N \leq 100
- 1 \leq A_i \leq 10^9
- A_1, A_2, \ldots, A_N are all distinct.
- All input values are integers.
Input
The input is given from Standard Input in the following format:
N
A_1 A_2 \ldots A_{N}
Output
Print the integer X such that the X-th element in A is the second largest.
Sample Input 1
4 8 2 5 1
Sample Output 1
3
The second largest element in A is A_3, so print 3.
Sample Input 2
8 1 2 3 4 5 10 9 11
Sample Output 2
6
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 400 点
問題文
整数列 A=(A_1,A_2,\dots,A_N) があります。 あなたは次の操作を好きな回数(0 回でもよい)行うことができます。
- 1\leq i,j \leq N を満たす整数 i,j を選ぶ。A_i を 1 減らし、A_j を 1 増やす。
A の最小値と最大値の差を 1 以下にするために必要な最小の操作回数を求めてください。
制約
- 1\leq N \leq 2\times 10^5
- 1\leq A_i \leq 10^9
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N A_1 A_2 \dots A_N
出力
答えを整数として出力せよ。
入力例 1
4 4 7 3 7
出力例 1
3
以下のように 3 回の操作を行うことで、A の最小値と最大値の差を 1 以下にすることができます。
- i=2,j=3 として操作を行う。A=(4,6,4,7) になる。
- i=4,j=1 として操作を行う。A=(5,6,4,6) になる。
- i=4,j=3 として操作を行う。A=(5,6,5,5) になる。
3 回未満の操作で A の最小値と最大値の差を 1 以下にすることはできません。よって答えは 3 です。
入力例 2
1 313
出力例 2
0
入力例 3
10 999999997 999999999 4 3 2 4 999999990 8 999999991 999999993
出力例 3
2499999974
Score : 400 points
Problem Statement
You are given an integer sequence A=(A_1,A_2,\dots,A_N). You can perform the following operation any number of times (possibly zero).
- Choose integers i and j with 1\leq i,j \leq N. Decrease A_i by one and increase A_j by one.
Find the minimum number of operations required to make the difference between the minimum and maximum values of A at most one.
Constraints
- 1\leq N \leq 2\times 10^5
- 1\leq A_i \leq 10^9
- All input values are integers.
Input
The input is given from Standard Input in the following format:
N A_1 A_2 \dots A_N
Output
Print the answer as an integer.
Sample Input 1
4 4 7 3 7
Sample Output 1
3
By the following three operations, the difference between the minimum and maximum values of A becomes at most one.
- Choose i=2 and j=3 to make A=(4,6,4,7).
- Choose i=4 and j=1 to make A=(5,6,4,6).
- Choose i=4 and j=3 to make A=(5,6,5,5).
You cannot make the difference between maximum and minimum values of A at most one by less than three operations, so the answer is 3.
Sample Input 2
1 313
Sample Output 2
0
Sample Input 3
10 999999997 999999999 4 3 2 4 999999990 8 999999991 999999993
Sample Output 3
2499999974