Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.67 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define MAXN 5005
  6. int n, arr[MAXN], dp[MAXN], res;
  7.  
  8. bool is_prime(int x){
  9.     if (x == 2) return 1;
  10.     if (x % 2 == 0 || x == 1) return 0;
  11.     int a = sqrt(x);
  12.     for (int i=2; i<=a; i++){
  13.         if (x % i == 0) return 0;
  14.     }
  15.     return 1;
  16. }
  17.  
  18. int main()
  19. {
  20.     cin >> n;
  21.     int sum = 0;
  22.     for (int i=1; i<=n; i++){
  23.         cin >> arr[i];
  24.         sum += arr[i];
  25.         dp[i] += sum;
  26.     }
  27.     for (int i=1; i<=n; i++){
  28.         for (int j=1; j<i; j++){
  29.             if (is_prime(i - j + 1)){
  30.                 res = max(res, dp[i] - dp[j - 1]);
  31.             }
  32.         }
  33.     }
  34.     cout << res << "\n";
  35.  
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement