Pagini recente » Cod sursa (job #2555469) | Cod sursa (job #2197021) | Cod sursa (job #1525674) | Cod sursa (job #226222) | Cod sursa (job #1132726)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("oo.in"); ofstream fout("oo.out");
long sol, oo[122206], a[122206], n, s1, s2, s3;
int main()
{
fin >> n;
long i;
for(i = 1; i <= n; ++i)
fin >> oo[i];
if(n>2)
{
a[2] = oo[1] + oo[2];
for(i = 3; i <= n; ++i) a[i]=max(oo[i] + oo[i - 1] + a[i - 3], a[i - 1]);
s1 = a[n - 1];
for(i = 0; i <= n; ++i) a[i] = 0;
for(i = 3; i <= n; ++i)
a[i] = max(oo[i] + oo[i - 1] + a[i - 3], a[i - 1]);
s2 = a[n];
for(i = 0; i <= n; ++i) a[i] = 0;
a[1] = a[2] = oo[1] + oo[n];
for(i = 3; i < n - 1; ++i) a[i] = max(oo[i] + oo[i - 1] + a[i - 3], a[i - 1]);
s3 = a[n - 2];
}
else
{
s1 = oo[1] + oo[0],
s2 = s1,
s3 = s1;
}
sol = max(max(s1, s2), s3);
fout << sol;
return 0;
}