Pagini recente » Cod sursa (job #1029431) | Cod sursa (job #752238) | Cod sursa (job #2203325) | Cod sursa (job #3217372) | Cod sursa (job #2458201)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
///hit the output with that
///OwO
int main()
{
int d[100001] = {0}, v[100001];
int n, i;
in >> n;
if(n == 1)
{
in >> i;
out << i;
return 0;
}
if(n == 2)
{
in >> i >> n;
out << i+n;
return 0;
}
for(i = 1; i <= n; i++)
in >> v[i];
if(v[1]+v[2] > v[n-1]+v[n] && v[1]+v[2] > v[1]+v[n])
{
d[n] = d[1] = d[2] = v[1] + v[2];
for(i = 3; i < n; i++)
d[i] = max(d[i-1], d[i-3] + v[i-1] + v[i]);
out << d[n-1] << '\n';
}
else
{
if(v[1]+v[n] > v[1]+v[2] && v[1]+v[n] > v[n-1]+v[n])
{
d[1] = d[n] = v[1]+v[n];
for(i = 4; i < n; i++)
{
d[i] = max(d[i-1], d[i-3] + v[i-1] + v[i]);
}
out << d[n-1] << '\n';
}
else
{
d[1] = d[n-1] = d[n] = v[n-1]+v[n];
for(i = 4; i < n; i++)
d[i] = max(d[i-1], d[i-3] + v[i-1] + v[i]);
out << d[n-1] << '\n';
}
}
return 0;
}