Pagini recente » Cod sursa (job #3190906) | Cod sursa (job #1410768) | Cod sursa (job #1504024) | Cod sursa (job #1946406) | Cod sursa (job #1293306)
#include<fstream>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
const int NMAX = 100000;
int best[NMAX + 5],n,v[NMAX + 5],sol = -1;
void init()
{
for(int i = 1 ; i <= n+1 ; i++)
best[i] = 0;
}
void solve(int i,int m)
{
for(int k = i ; k <= m ; k++){
best[k] = max(best[k-1],best[k-3] + v[k] + v[k-1]);
if(sol < best[k])
sol = best[k];
}
init();
}
int main()
{
in>>n;
for(int i = 1 ; i <= n ; i++)
in>>v[i];
in.close();
v[n+1] = v[1];
best[2] = v[1] + v[2];
solve(3,n-1);
best[3] = v[3] + v[4];
solve(4,n);
best[4] = v[4] + v[5];
solve(5,n+1);
out<<sol;
return 0;
}