全T,0分,啊?2.0
查看原帖
全T,0分,啊?2.0
843763
LichKing_Arthas楼主2024/8/15 18:43
#include<bits/stdc++.h>
using namespace std;
int n,m,big,a[1000005];
int ef(int l,int r){
	if(l>r)  return l-1;
    long long s=0,mid=(l+r)/2;
    for(int i=1;i<=n;i++) 
		if(a[i]>mid)  s+=a[i]-mid;
    if(s<m)  ef(l,mid-1);
	else  ef(mid+1,r);
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		big=max(big,a[i]);
	}printf("%d",ef(1,big));
	return 0;
}
#include<bits/stdc++.h>
using namespace std;
int n,m,big,a[1000005];
int ef(int l,int r){
	if(l>r)  return l-1;
    long long s=0,mid=(l+r)/2;
    for(int i=1;i<=n;i++) 
		if(a[i]>mid)  s+=a[i]-mid;
    if(s<m)  ef(l,mid-1);
	else  ef(mid+1,r);
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		big=max(big,a[i]);
	}printf("%d",ef(1,big));
	return 0;
}
#include<bits/stdc++.h>
using namespace std;
int n,m,big,a[1000005];
int ef(int l,int r){
	if(l>r)  return l-1;
    long long s=0,mid=(l+r)/2;
    for(int i=1;i<=n;i++) 
		if(a[i]>mid)  s+=a[i]-mid;
    if(s<m)  ef(l,mid-1);
	else  ef(mid+1,r);
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		big=max(big,a[i]);
	}printf("%d",ef(1,big));
	return 0;
}
#include<bits/stdc++.h>
using namespace std;
int n,m,big,a[1000005];
int ef(int l,int r){
	if(l>r)  return l-1;
    long long s=0,mid=(l+r)/2;
    for(int i=1;i<=n;i++) 
		if(a[i]>mid)  s+=a[i]-mid;
    if(s<m)  ef(l,mid-1);
	else  ef(mid+1,r);
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		big=max(big,a[i]);
	}printf("%d",ef(1,big));
	return 0;
}
2024/8/15 18:43
加载中...