想问一下为什么同一份代码,开了freopen会RE,关了就没问题
#include<cmath>
#include<cstdio>
#include<iostream>
using namespace std;
const int N=25e6;
int a1,a2,a3,a4,a5,sum[N+329],k;
long long ans;
inline bool check(long long x){
if(x==2||x==3)return true;
int t=sqrt(x);
for(int i=2;i<=t;++i)
if(x%i==0)
return false;
return true;
}
inline long long findprime(){
for(int i=k;i>=2;--i){
if(check(i))
return i;
}
}
int main(){
//freopen("t2.in","r",stdin);
//freopen("t2.out","w",stdout);
scanf("%d%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5,&k);
long long p=findprime();
for(int i=-50;i<=50;++i){
if(!i)
continue;
for(int j=-50;j<=50;++j){
if(!j)
continue;
++sum[(-(a1*i*i*i+a2*j*j*j)+N)%N];
}
}
for(int i=-50;i<=50;++i){
if(!i)
continue;
for(int j=-50;j<=50;++j){
if(!j)
continue;
for(int k=-50;k<=50;++k){
if(!k)
continue;
ans+=sum[(a3*i*i*i+a4*j*j*j+a5*k*k*k+N)%N];
}
}
}
cout<<ans-ans/p*p;
return 0;
}