#include <bits/stdc++.h>
using namespace std;
#define ll long long
long long n, m, k = 0;
long long a[100005];
void nhap(){
cin >> n >> m;
for ( int i = 1; i <= n; i++ ){
scanf("%d", &a[i]);
}
}
bool check(long long mid){
long long res = 0;
for ( int i = 1; i <= n; i++ ){
if ( a[i] < mid ) res += (mid-a[i]);
}
if(res<=m) return true;
return false;
}
ll binarySearch(ll l,ll r){
long long i = 0, j = 2*1e12;
long long mid,k;
while (l<=r){
mid = (l+r)/2;
if (check(mid)==true){
k = mid;
l = mid+1;
} else r = mid-1;
}
return k;
}
void xuly(){
k=binarySearch(0,1e12*2);
// cout<<k;
for ( int i = 1; i <= n; i++ ){
if (a[i]<k){
m=m-(k-a[i]);
a[i] = k;
}
}
//for(int i=1;i<=n;i++) cout<<a[i]<<" ";
// cout<<endl;
for ( int i = 1; i <= n; i++ ){
if ( a[i]==k&&m>0){
cout << (k +1) << " ";
m --;
} else cout << a[i] << " ";
}
}
int main(){
freopen("CANDY1051.INP", "r", stdin);
freopen("CANDY1051.OUT", "w", stdout);
nhap();
xuly();
}
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Hai, 18 tháng 4, 2022
CANDY1051 C++
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.