Pagini recente » Cod sursa (job #2185938) | Cod sursa (job #2837076) | Cod sursa (job #184764) | Cod sursa (job #1682072) | Cod sursa (job #389724)
Cod sursa(job #389724)
#include<fstream>
using namespace std ;
int a[100001], c[100001], n, s ;
int main()
{
int i, x ;
ifstream fin("oo.in") ;
fin>>n ;
for (i=0 ; i<n ; i++)
fin>>a[i] ;
fin.close() ;
// iau a0 si a1
c[0] = 0 ;
c[1] = a[0] + a[1] ;
c[2] = c[1] ;
c[3] = c[1] ;
for (i=4 ; i<n-1 ; i++)
{
c[i] = c[i-1] ;
x = a[i] + a[i-1] + c[i-3] ;
if (c[i] < x)
c[i] = x ;
}
s = c[n-2] ;
// iau a1 si a2
c[0] = 0 ;
c[1] = 0 ;
c[2] = a[1]+a[2] ;
c[3] = c[2] ;
c[4] = c[2] ;
for (i=5 ; i<n ; i++)
{
c[i] = c[i-1] ;
x = a[i] + a[i-1] + c[i-3] ;
if (c[i] < x) c[i] = x ;
}
if (s < c[n-1]) s = c[n-1] ;
// iau a(n-1) si a(0)
c[0] = a[n-1] + a[0] ;
c[1] = c[2] = c[0] ;
for (i=3 ; i<=n-3 ; i++)
{
c[i] = c[i-1] ;
x = a[i] + a[i-1] + c[i-3] ;
if (c[i] < x) c[i] = x ;
}
if (s < c[n-2]) s = c[n-2] ;
ofstream fout("oo.out") ;
fout<<s<<"\n" ;
fout.close() ;
return 0 ;
}