wa求助
查看原帖
wa求助
212320
djwj323楼主2020/11/6 18:05
#include<iostream>
#include<cstdio>
using namespace std;
long long a,b,k,sum,u1,u2,i,j;
long long z[1000005],p[900005];
bool fi[1000005];
int main()
{
    //freopen("prime.in","r",stdin);
    //freopen("prime.out","w",stdout);
    cin>>a>>b>>k;
    for(i=2;i<=b;i++)
    {
        if(!fi[i])
        {
            p[++u1]=i;
            if(i>=a)  z[++u2]=i;
        }
        for(j=1;j<=u1;j++)
        {
            if(p[j]*i>b)  break;
            fi[p[j]*i]=true;
            if(i%p[j]==0)  break;
        }
    }
    if(u2<k)  return cout<<-1,0;
    if(z[1]!=a)  sum=max(sum,z[k]-a+1);
    if(z[u2]!=b)  sum=max(sum,b-z[u2-k+1]+1);
    for(i=k+1;i<=u2;i++)  sum=max(sum,z[i]-z[i-k]);
    return cout<<sum,0;
}
2020/11/6 18:05
加载中...