#include #define N 200005 using namespace std; long long a[N]; int n,k; long double check(int x){ long double time = 0; int y = k - x; for(int i = 1;i <= n; i++){ long long tmp = a[i]; time += (tmp + x - 1) / x; } return time / y; } void solve(){ cin >> n >> k; for(int i = 1;i <= n;i++){ cin >> a[i]; } // for(int i = 1;i <= k-1;i++){ // cout << check(i) << endl; // } int mini = 1; for(int i = 1;i <= k-1; i += 10000){ int l = i, r = min(k - 1,i + 10000); while(r - l > 2){ int m = (l + r + 1) / 2; if(check(m) > check(m-1)){ r = m; } else{ l = m; } } for(int i = max(1, l - 31);i <= min(k-1, r + 31);i++){ if(check(i) < check(mini)) mini = i; } } cout << mini << ' ' << k - mini; } int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL); int t = 1; // cin >> t; // comment if not multitest while(t--) solve(); }