社区讨论
只A了第一个点求助
P1873[COCI 2011/2012 #5] EKO / 砍树参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @loc4r77c
- 此快照首次捕获于
- 2023/10/30 07:56 2 年前
- 此快照最后确认于
- 2023/11/04 14:07 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int m[10000001];
int main()
{
int n,a;
cin >> n >> a;
for(int i = 1;i <= n;i++)
{
cin >> m[i];
}
sort(m + 1,m + n + 1);
int l = m[1],r = m[n];
while(l < r)
{
int sum = 0;
int min = (l + r) / 2;
for(int i = 1;i <= n;i++)
{
if(m[i] - min > 0)
{
sum = sum + m[i] - min;
}
}
if(sum < a)
{
r = min - 1;
}
else if(sum > a)
{
l = min + 1;
}
else if(sum == a)
{
cout << min;
return 0;
}
}
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...