Advertisement
What_Ever

Untitled

Feb 18th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define MAX 100005
  3. using namespace std;
  4. int n,k;
  5. int a[MAX];
  6. long long sums[MAX];
  7. bool p(int x,int i)
  8. {
  9.     return (a[i]*x - (sums[i] - sums[i-x])) <=k;
  10. }
  11. int main()
  12. {
  13.     cin >> n >>k;
  14.     for(int i = 0 ; i < n ; i++)cin >> a[i];
  15.     sort(a,a+n);
  16.     sums[0] = a[0];
  17.     for(int i = 1 ; i < n ; i++)sums[i]= sums[i-1]+a[i];
  18.     int left,right,mi,ml = 0;
  19.     for(int i = 0 ; i < n ; i++)
  20.     {
  21.         left = 1,right = i+1;
  22.         while(left < right)
  23.         {
  24.             int mid = left + (right - left +1)/2;
  25.             if(p(mid,i))
  26.             {
  27.                 left = mid;
  28.             }
  29.             else
  30.             {
  31.                 right = mid-1;
  32.             }
  33.         }
  34.         if(left>ml)
  35.         {
  36.             ml = left;
  37.             mi = a[i];
  38.         }
  39.     }
  40.     cout << ml << ' ' << mi;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement