Pagini recente » Cod sursa (job #671447) | Cod sursa (job #1348060) | Cod sursa (job #1379054) | Cod sursa (job #2899450) | Cod sursa (job #1099552)
#include <fstream>
#include <vector>
using namespace std;
const int NMAX =10005 ;
const int INF = 0x3f3f3f3f;
ifstream cin("oo.in") ;
ofstream cout("oo.out") ;
int N ;
int V[NMAX], D[NMAX];
inline int max(int a, int b) { if(a > b) return a ; else return b; }
int Sol;
inline void citire()
{
cin >> N ;
for(int i = 1 ; i <= N; ++ i)
cin >> V[i] ;
}
inline void rezolvare(int x, int y)
{
D[x] = 0 ;
D[x + 1] = V[x] + V[x+1] ;
for(int i = x + 2 ; i <= y ; ++ i)
D[i] = max(D[i-1], D[i - 3] + V[i - 1] + V[i]);
Sol = max(Sol, D[y]);
}
inline void afisare()
{
cout << Sol << '\n' ;
}
int main()
{
citire();
V[N + 1] = V[1] ;
rezolvare(1, N-1);
rezolvare(2, N) ;
rezolvare(3, N+1) ;
afisare();
return 0 ;
}