素数判定模板。
1 #include<cstdio> 2 #include<map> 3 using namespace std; 4 int a[2001],ans=-2147483647,l,r,n,sum[2001]; 5 bool is_prime(const int &x) 6 { 7 for(int i=2;i*i<x;i++) if(x%i==0) return false; 8 return true; 9 } 10 int main() 11 { 12 scanf("%d",&n); 13 for(int i=1;i<=n;i++) 14 { 15 scanf("%d",&a[i]); 16 sum[i]=sum[i-1]+a[i]; 17 } 18 for(int i=1;i<=n;i++) 19 for(int j=i;j<=n;j++) 20 if(is_prime(sum[j]-sum[i-1])) 21 { 22 if(sum[j]-sum[i-1]>ans) 23 { 24 ans=sum[j]-sum[i-1]; 25 l=i; r=j; 26 } 27 } 28 printf("%d %d %d\n",l,r,ans); 29 return 0; 30 }
时间: 2024-10-11 12:26:18