Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define MAXN 5005
- int n, arr[MAXN], dp[MAXN], res;
- bool is_prime(int x){
- if (x == 2) return 1;
- if (x % 2 == 0 || x == 1) return 0;
- int a = sqrt(x);
- for (int i=2; i<=a; i++){
- if (x % i == 0) return 0;
- }
- return 1;
- }
- int main()
- {
- cin >> n;
- int sum = 0;
- for (int i=1; i<=n; i++){
- cin >> arr[i];
- sum += arr[i];
- dp[i] += sum;
- }
- for (int i=1; i<=n; i++){
- for (int j=1; j<i; j++){
- if (is_prime(i - j + 1)){
- res = max(res, dp[i] - dp[j - 1]);
- }
- }
- }
- cout << res << "\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement