Advertisement
_Andreea_

Niceset

Feb 27th, 2022
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. ifstream fin("niceset.in");
  6. ofstream fout("niceset.out");
  7.  
  8. int n, m;
  9. int64_t a[300001], S, sum[300001], diff[300001];
  10.  
  11. int main()
  12. {
  13. fin>>n>>m;
  14. for (int i=1; i<=n; i++)
  15. fin>>a[i];
  16. sort(a+1, a+n+1);
  17. for (int i=1; i<=n; i++)
  18. {
  19. for (int j=i+1; j<=n; j++)
  20. diff[j]+=a[j]-a[i];
  21. }
  22. int maxi=0;
  23. for (int i=1; i<n; i++)
  24. {
  25. int64_t s=0, pos=-1;
  26. for (int j=i; j<=n; j++)
  27. {
  28. if(i>1)
  29. {
  30. diff[j]-=a[j]-a[i-1];
  31. if(diff[j]<0)
  32. diff[j]=0;
  33. }
  34. s+=diff[j];
  35. if(s<=m)
  36. pos=j;
  37. }
  38. diff[i]=0;
  39. if(pos!=-1)
  40. {
  41. if(pos-i+1>maxi)
  42. maxi=pos-i+1;
  43. }
  44. }
  45. fout<<maxi<<' ';
  46. return 0;
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement