ABC072
ABC072
[ABC072C] Together
题面翻译
题目
给出一个长度为N,a1,a2,...,aN的整数序列。 对于每个1≤i≤N,您有三个选择:1.将1添加到ai, 2.从ai减去1 3.不执行任何操作。 在这些操作之后,您选择一个整数X并计算i的数量,使得ai = X. 通过做出最佳选择来最大化这一数量。
限制
1≤x≤10^5
0≤ai≤10^5
且ai是整数
输出
输出最大可能的数 使ai = x
样例输入
7 3 1 4 1 5 9 2
10 0 1 2 3 4 5 6 7 8 9
样例输出
4
3
感谢@牧星 提供的翻译
题目描述
長さ
の整数列 が与えられます。 各
に対し、 に 足すか、 引くか、なにもしないかの三つの操作からどれか一つを選んで行います。 この操作の後、ある整数
を選んで、 となる の個数を数えます。 うまく操作を行い、
を選ぶことで、この個数を最大化してください。 输入格式
入力は以下の形式で標準入力から与えられる。
.. 输出格式
うまく操作を行い、
を選んだ時の なる の個数の最大値を出力せよ。 样例 #1
样例输入 #1
7
3 1 4 1 5 9 2样例输出 #1
4样例 #2
样例输入 #2
10
0 1 2 3 4 5 6 7 8 9样例输出 #2
3样例 #3
样例输入 #3
1
99999样例输出 #3
1提示
制約
は整数 Sample Explanation 1
例えば操作後の数列を
とすることができて、 とすると を得ることができ、これが最大です。
思路
不难想到,对整个整数序列进行遍历,记当前遍历到的数字为x
,开一个桶记录所有的可能,+1、-1、+0。这样在范围内进行遍历取最大值即可。
|
[ABC072D] Derangement
题面翻译
给你一段长为
的序列 ,你每次可以进行操作交换两个相邻的元素
问最少要几次才能满足任意题目描述
からなる順列 が与えられます。 次の操作を何回か ( 回でもよい) 行うことが出来ます。 操作: 順列で隣り合う二つの数を選んでスワップする。
何回か操作を行って、任意の
に対して となるようにしたいです。 必要な操作の最小回数を求めてください。 输入格式
入力は以下の形式で標準入力から与えられる。
.. 输出格式
必要な操作の最小回数を出力せよ。
样例 #1
样例输入 #1
5
1 4 3 5 2样例输出 #1
2样例 #2
样例输入 #2
2
1 2样例输出 #2
1样例 #3
样例输入 #3
2
2 1样例输出 #3
0样例 #4
样例输入 #4
9
1 2 4 9 5 8 7 3 6样例输出 #4
3提示
制約
は の順列である。 Sample Explanation 1
と を入れ替え、その後 と を入れ替えることで は となり、これは条件を満たします。 これが最小回数なので、答えは となります。 Sample Explanation 2
と を入れ替えれば条件を満たします。 Sample Explanation 3
初めから条件を満たしています。
思路
对整个序列进行遍历,只要发现
|