CodeForces - 1042A Benches排序
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces - 1042A Benches排序相关的知识,希望对你有一定的参考价值。
A. Benches
time limit per test1 second
memory limit per test256 megabytes
There are n benches in the Berland Central park. It is known that ai people are currently sitting on the i-th bench. Another m people are coming to the park and each of them is going to have a seat on some bench out of n available.
Let k be the maximum number of people sitting on one bench after additional m people came to the park. Calculate the minimum possible k and the maximum possible k.
Nobody leaves the taken seat during the whole process.
Input
The first line contains a single integer n (1≤n≤100) — the number of benches in the park.
The second line contains a single integer m (1≤m≤10000) — the number of people additionally coming to the park.
Each of the next n lines contains a single integer ai (1≤ai≤100) — the initial number of people on the i-th bench.
Output
Print the minimum possible k and the maximum possible k, where k is the maximum number of people sitting on one bench after additional m people came to the park.
Examples
input
4
6
1
1
1
1
output
3 7
input
1
10
5
output
15 15
input
3
6
1
6
5
output
6 12
input
3
7
1
6
5
output
7 13
Note
In the first example, each of four benches is occupied by a single person. The minimum k is 3. For example, it is possible to achieve if two newcomers occupy the first bench, one occupies the second bench, one occupies the third bench, and two remaining — the fourth bench. The maximum k is 7. That requires all six new people to occupy the same bench.
The second example has its minimum k equal to 15 and maximum k equal to 15, as there is just a single bench in the park and all 10 people will occupy it.
问题链接:CodeForces - 1042A Benches
问题简述:(略)
问题分析:(略)
AC的C++语言程序如下:
/* CodeForces - 1042A Benches */
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
#define N 100
int a[N];
int main()
int n, m, sum = 0;
scanf("%d%d", &n, &m);
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
sum += a[i];
sort(a, a + n);
int maxsum = a[n - 1] * n;
int sub = maxsum - sum;
if (m >= sub)
if ((m - sub) % n == 0)
printf("%d %d\\n", a[n - 1] + (m - sub) / n, a[n - 1] + m);
else
printf("%d %d\\n", a[n - 1] + (m - sub) / n + 1, a[n - 1] + m);
else
printf("%d %d\\n", a[n - 1], a[n - 1] + m);
return 0;
以上是关于CodeForces - 1042A Benches排序的主要内容,如果未能解决你的问题,请参考以下文章