main(){puts("20170387916");} /* 次の条件のみで一意になることを確認 ・x+15,x+27,x+51,x+83は素数 ・[x+15,x+83]の区間にはこの4つ以外素数はない ・d(x+84)=192,d(x+52)=160,d(x+10)=96 区間篩により上2つの条件を確かめるコードにより手元のラップトップで約11分 ※d(x+10)=96の条件を落とすと5解。d(x+・)=96の3つのいずれかを課すと一意 */ /* #include #include #include #include #define ll long long #define bool int #define rep(i,l,r)for(ll i=(l);i<(r);i++) #define T 1 #define F 0 #define TIME printf("\n%.3f秒\n",(double)(clock()-start)/CLOCKS_PER_SEC) ll po(ll a,int n){ll x=1;while(n--)x*=a;return x;} bool prime[200010]; void makep(ll n){prime[0]=prime[1]=T;for(int i=2;i*i<=n;i++)if(!prime[i])for(int j=i*i;j<=n;j+=i)prime[j]=T;} bool*secmakep(ll l,ll r){ll e=sqrt(r)+2;bool*p=(bool*)calloc(r-l,sizeof(bool));rep(i,2,e)if(!prime[i])for(ll j=(l+i-1)/i*i;j