Cod sursa(job #544987)
| Utilizator | Data | 2 martie 2011 15:51:07 | |
|---|---|---|---|
| Problema | Oo | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <fstream>
using namespace std;
#define DIM 100003
ifstream fi ("oo.in");
ofstream fo ("oo.out");
int N, M, V[DIM], D[DIM];
void dinamica (int p, int u)
{
D[p - 2] = 0;
D[p - 1] = V[p - 2] + V[p - 1];
for (int i = p; i <= u; i++)
{
D[i] = max (D[i - 1], D[i - 3] + V[i - 1] + V[i]);
M = max (D[i], M);
}
}
int main ()
{
fi >> N;
for (int i = 1; i <= N; i++)
fi >> V[i];
V[N + 1] = V[1];
dinamica (3, N - 1);
dinamica (4, N);
dinamica (5, N + 1);
fo << M;
return 0;
}
