Pagini recente » Rating Ileana Stuparu (jessica26) | Monitorul de evaluare | Rating Patrick (ptk_) | Cod sursa (job #687030) | Cod sursa (job #771878)
Cod sursa(job #771878)
#include<iostream>
#include<fstream>
using namespace std;
int dp[100002],v[100002],n,bestsum;
inline int maxim(int a, int b)
{
if(a>=b)
return a;
return b;
}
inline void dinamica(int p, int n)
{
int i;
for(i=1;i<=p-1;i++)
dp[i]=0;
dp[p]=v[p]+v[p-1];
for(i=p+1;i<=n;i++)
dp[i]=maxim(dp[i-3]+v[i]+v[i-1],dp[i-1]);
bestsum=maxim(bestsum,dp[n]);
}
int main ()
{
int i;
ifstream f("oo.in");
ofstream g("oo.out");
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
f.close();
v[n+1]=v[1];
dinamica(2,n-1);
dinamica(3,n);
dinamica(4,n+1);
g<<bestsum;
g.close();
return 0;
}