信息
- ID
- 1280
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 588
- 已通过
- 138
- 上传者
#include<bits/stdc++.h>
using namespace std;
const int N=1e7+10;
int sum,ans,num;
int a[N],n,r;
int main(){
cin>>n>>r;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
num=n;
while(sum<r){
sum+=(a[num]-a[num-1])*(n-num+1);
num--;
}
num++;
ans=a[num-1]+(sum-r)/(n-num+1);
cout<<ans;
return 0;
}
小鸟
飞舞
没小鸟
/*没小鸟的钟鼎皓盗我号骗分*/
/*小心slz钟鼎皓 药哥嗑药抄题解不改头文件!!!!!!!!!!!!!!!!!!!!!!!!!!*/
#include <bits/stdc++.h>
#define LL long long
using namespace std;
const int N = 1e6 + 10;
const int INF = 0x3f3f3f3f;
int n , m , l , r , ans;
int a [N];
bool check (int mid)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
if (a [i] > mid)
{
sum += a [i] - mid;
}
}
return (sum >= m);
}
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
cin >> a [i];
}
sort (a + 1 , a + 1 + n);
l = 1;
r = a [n];
while (l <= r)
{
int mid = (l + r) >> 1;
if (check (mid))
{
ans = mid;
l = mid + 1;
}
else
r = mid - 1;
}
cout << ans;
return 0;
}
/*小心slz钟鼎皓或 上线盗你号 没小鸟的钟鼎皓盗我号骗分
*/