WA on #9,90pts
#include <bits/stdc++.h>
using namespace std;
int n, m, l[100005], s[100005];
void make()
{
for(int i = 2; i <= n; i++)
l[i] = (l[i - 1] * 37011 + 10193) % 10000 + 1;
for(int i = 2; i <= n; i++)
s[i] = (s[i - 1] * 73011 + 24793) % 100 + 1;
}
int main()
{
scanf("%d %d %d %d", &n, &m, &l[1], &s[1]);
make();
for(int i = 1; i <= n; i++)
{
bool f = 1;
for(int j = i + 1; j <= n; j++)
{
if(l[i] < l[j])
{
swap(l[i], l[j]);
swap(s[i], s[j]);
f = 0;
}
}
if(f) break;
}
//printf("%d\n", l[2]);
for(int i = l[1]; i >= 1; i--)
{
int sum = 0;
for(int j = 1; l[j] >= i; j++)
{
sum += l[j] / i * s[j];
//printf("%d\n", l[j] / i * s[j]);
}
if(sum >= m)
{
printf("%d", i);
return 0;
}
//printf("%d %d\n", i, sum);
}
return 0;
}