Pagini recente » Cod sursa (job #2553516) | Cod sursa (job #3353407) | Statistici Ploscaru Maria Izabela (IzabelaJe) | Cod sursa (job #2090426) | Cod sursa (job #3308571)
#include <bits/stdc++.h>
#define NMAX 100002
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int oua[NMAX];
int dp[NMAX]; ///dp[i] = numarul maxim de oua care pot fi adunate din primele i sectoare
int main()
{
int n;
in >> n;
for(int i=1; i<=n; i++)
in >> oua[i];
dp[2]=oua[1]+oua[2];
for(int i=2; i<=n-1; i++)
{
dp[i]=max(dp[i-3]+(oua[i-1]+oua[i]), dp[i-1]);
}
int ans=dp[n-1];
dp[1]=0; ///cazul in care luam sectoarele n-1 si n
dp[2]=0;
for(int i=3; i<=n; i++)
{
dp[i]=max(dp[i-3]+(oua[i-1]+oua[i]), dp[i-1]);
}
ans=max(ans, dp[n]);
dp[1]=0; ///cazul in care luam sectoarele n si 1
dp[2]=0;
dp[3]=0;
for(int i=4; i<=n-2; i++)
{
dp[i]=max(dp[i-3]+(oua[i-1]+oua[i]), dp[i-1]);
}
ans=max(ans, dp[n-2]+(oua[n]+oua[1]));
out << ans;
return 0;
}