Pagini recente » Cod sursa (job #2384050) | Cod sursa (job #1689380) | Cod sursa (job #1588606) | Cod sursa (job #66326) | Cod sursa (job #2977684)
Utilizator |
Desq Stef Desqucu |
Data |
12 februarie 2023 11:28:20 |
Problema |
Oo |
Scor |
100 |
Compilator |
cpp-64 |
Status |
done |
Runda |
r3-2023 |
Marime |
0.68 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int v[100002], dp[100002];
int rez(int s, int n)
{
for(int i = 1; i <= n + 1; i++)
dp[i] = 0;
for(int i = s + 1; i < s + n - 1; i++)
{
dp[i] = max(dp[i - 1], dp[i - 3 > 0 ? (i - 3) : 0] + v[i - 1] + v[i]);
}
return dp[s + n - 2];
}
int n,i,a,b,c,maxi;
int main() {
in>>n;
for(i = 1; i <= n; i++)
in>>v[i];
v[n + 1] = v[1];
a=rez(1,n);
b=rez(2,n);
c=rez(3,n);
if(maxi<a)
maxi=a;
if(maxi<b)
maxi=b;
if(maxi<c)
maxi=c;
out<<maxi;
return 0;
}