Pagini recente » Cod sursa (job #1964683) | Cod sursa (job #1509361) | Cod sursa (job #1436526) | Cod sursa (job #1871139) | Cod sursa (job #2870345)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("niceset.in");
ofstream g("niceset.out");
int n, i, p, u, cnt, maxi, v[300010];
long long s, sc, sum;
int main()
{
f >> n >> s;
for (i = 1; i <= n; ++i)
f >> v[i];
sort(v + 1, v + n + 1);
p = u = 1;
sum = v[1];
++cnt;
while (p <= u && u < n)
{
sc += (v[++u] * cnt - sum);
sum += v[u];
++cnt;
while (sc > s && p <= u)
{
--cnt;
sum -= v[p];
sc -= (sum - cnt * v[p++]);
}
if (cnt > maxi)
maxi = cnt;
}
g << maxi;
return 0;
}