Pagini recente » Cod sursa (job #2897927) | Cod sursa (job #261786) | Cod sursa (job #1682588) | Cod sursa (job #1750628) | Cod sursa (job #1702393)
#include <fstream>
#define maxn 100005
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int a[maxn], b[maxn], answ, n;
int maxim(int x, int y) {
if (x >= y)
return x;
return y;
}
void read() {
fin >> n;
for (int i=1; i<=n; i++)
fin >> a[i];
}
void solve() {
int i;
b[2] = a[1] + a[2];
for (i=3; i<=n; i++)
b[i] = maxim(b[i-1], a[i-1] + a[i] + b[i-3]);
answ = b[n-1];
b[2] = 0;
for (i=3; i<=n; i++)
b[i] = maxim(b[i-1], a[i-1] + a[i] + b[i-3]);
answ = maxim(answ, b[n]);
b[1] = b[2] = a[1] + a[n];
for (i=3; i<=n-2; i++)
b[i] = maxim(b[i-1], a[i-1] + a[i] + b[i-3]);
answ = maxim(answ, b[n-2]);
}
int main()
{
read();
solve();
fout << answ;
return 0;
}