Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("niceset.in");
- ofstream fout("niceset.out");
- int n, m;
- int64_t a[300001], S, sum[300001], diff[300001];
- int main()
- {
- fin>>n>>m;
- for (int i=1; i<=n; i++)
- fin>>a[i];
- sort(a+1, a+n+1);
- for (int i=1; i<=n; i++)
- {
- for (int j=i+1; j<=n; j++)
- diff[j]+=a[j]-a[i];
- }
- int maxi=0;
- for (int i=1; i<n; i++)
- {
- int64_t s=0, pos=-1;
- for (int j=i; j<=n; j++)
- {
- if(i>1)
- {
- diff[j]-=a[j]-a[i-1];
- if(diff[j]<0)
- diff[j]=0;
- }
- s+=diff[j];
- if(s<=m)
- pos=j;
- }
- diff[i]=0;
- if(pos!=-1)
- {
- if(pos-i+1>maxi)
- maxi=pos-i+1;
- }
- }
- fout<<maxi<<' ';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement