fork download
  1. #include <bits/stdc++.h>
  2. // v.erase( unique(all(v)) , v.end() ) -----> removes duplicates and resizes the vector as so
  3. using namespace std;
  4. #define ll long long
  5. #define lld long double
  6. const lld pi = 3.14159265358979323846;
  7. #define pb push_back
  8. #define pf push_front
  9. #define all(a) a.begin(),a.end()
  10. #define rall(a) a.rbegin(),a.rend()
  11. #define getunique(v) {sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end());}
  12. constexpr int mod = (int)(1e9+7);
  13. #define log(x) (31^__builtin_clz(x)) // Easily calculate log2 on GNU G++ compilers
  14.  
  15.  
  16. int main()
  17. {ios_base::sync_with_stdio(0),cin.tie(0);
  18. int k,n;cin>>k>>n;
  19. ll a[n];
  20. for(int i=0;i<n;i++)cin>>a[i];
  21. ll ans=0;
  22. ll st=0,en=1e12+5;
  23. while(en>=st){
  24. ll mid=en-(en-st)/2;
  25. ll sum=0;
  26. for(int i=0;i<n;i++)sum+=min((ll)a[i],mid);
  27. if(sum>=mid*k){
  28. ans=mid;st=mid+1;continue;
  29. }
  30. en=mid-1;
  31. }
  32. cout<<ans<<'\n';
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39. return 0;
  40. }
  41. /*
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. */
Success #stdin #stdout 0.01s 5428KB
stdin
Standard input is empty
stdout
973752576221