I tried all of IO above
- Code: Select all
#include <stdio.h>
#include <string.h>
int main()
{
const int MAX = 1000000;
bool prime[MAX+1];
memset(prime, 1, sizeof prime);
prime[0] = prime[1] = 0;
for (int i = 2; i <= MAX; i++)
if (prime[i])
{
int k = (MAX+1) / i;
for (int j = 2; j <= k; j++)
prime[j*i] = 0;
}
int t;
scanf("%d", &t);
while (t--)
{
int L, H, lp = 0, d[500];
memset(d, 0, sizeof d);
scanf("%d%d", &L, &H);
for (int i = L; i <= H; i++)
{
if (prime[i] && lp)
d[i-lp]++, lp = i; else
if (prime[i]) lp = i;
}
int max = 0, maxn = 0, c = 0;
for (int i = 1; i < 50; i++)
if (d[i] > max)
{
max = d[i];
maxn = i;
c = 1;
} else
if (d[i] == max) c++;
if (c > 1) puts("No jumping champion\n"); else printf("The jumping champion is %d\n", maxn);
}
}

