fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long int
  3. #define ld long double
  4. #define nl "\n"
  5. #define ull unsigned long long
  6. #define rv return void
  7. #define str string
  8. #define all(x) x.begin(), x.end()
  9. #define allr(x) x.rbegin(), x.rend()
  10. #define vec vector
  11. #define fixed(n) fixed << setprecision(n)
  12. #define Moageza ios::sync_with_stdio(false);cout.tie(NULL);cin.tie(NULL);
  13. using namespace std;
  14. // const ll mod = 1e9+7;
  15. //////////////////////////////////////////////////////
  16. void solve(){
  17. int n,k;cin>>n>>k;
  18. vec<int>v(n),freq(int(2e5+5),0),v2;
  19. set<int>s;
  20. for(int i=0;i<n;i++){
  21. cin>>v[i],freq[v[i]]++;
  22. if(freq[v[i]]==1)v2.push_back(v[i]);
  23. }
  24. int l=1,r=n,ch=0;
  25. while(l<=r){
  26. int mid=(l+r)/2,sum=0;
  27. for(int i=0;i<v2.size();i++)sum+=freq[v2[i]]/mid;
  28. if(sum>=k)l=mid+1,ch=mid;
  29. else r=mid-1;
  30. }
  31. vec<int>ans;
  32. for(int i=0;i<v2.size();i++){
  33. for(int j=0;j<freq[v2[i]]/ch;j++)ans.push_back(v2[i]);
  34. }
  35. for(int i=0;i<k;i++)cout<<ans[i]<<" ";
  36. }
  37. signed main()
  38. {
  39. Moageza
  40. #ifndef ONLINE_JUDGE
  41. freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);
  42. #endif
  43. int t = 1;
  44. // cin >> t;
  45. while (t--) {
  46. solve();
  47. cout << nl;
  48. }
  49. return 0;
  50. }
Success #stdin #stdout 0.01s 5296KB
stdin
Standard input is empty
stdout