Pagini recente » Cod sursa (job #1072599) | Cod sursa (job #843784) | Cod sursa (job #355571) | Cod sursa (job #2459098) | Cod sursa (job #2467046)
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int oua[100010], n, d[100010];
void citire() {
fin >> n;
for (int i = 1; i <= n; ++i) {
fin >> oua[i];
}
}
int dinamica(int st, int fi) {
d[st] = 0;
d[st + 1] = oua[st + 1] + oua[st];
for (int i = st + 2; i <= fi; ++i) {
d[i] = max(oua[i] + oua[i - 1] + d[i - 3], d[i - 1]);
}
return d[fi];
}
int main()
{
oua[n + 1] = oua[1];
citire();
int d1 = dinamica(1, n - 1);
int d2 = dinamica(2, n);
int d3 = dinamica(3, n + 1);
fout << max(d1, max(d2, d3)) << "\n";
return 0;
}