Pagini recente » Cod sursa (job #2342202) | Cod sursa (job #1122320) | Cod sursa (job #537601) | Cod sursa (job #2718214) | Cod sursa (job #40723)
Cod sursa(job #40723)
#include <stdio.h>
#define input "oo.in"
#define output "oo.out"
#define nmax 200002
long min,i,pz,cnt,n,a[nmax],max[nmax];
inline long maxim(long a, long b)
{
if (a>b) return a;
return b;
}
int main()
{
FILE *fin,*fout;
fin=fopen(input,"r");
fout=fopen(output,"w");
fscanf(fin,"%ld",&n);
min=101;
for (i=1;i<=n;i++)
{
fscanf(fin,"%ld",&a[i]);
if (a[i]<min) {pz=i+1;min=a[i];}
a[n+i]=a[i];
}
max[pz]=a[pz];
cnt=max[pz];
for (i=pz+1;i<pz+n-1;i++)
{
max[i]=a[i]+maxim(a[i-1]+max[i-3],max[i-2]);
if (cnt<max[i]) cnt=max[i];
}
fprintf(fout,"%ld",cnt);
fclose(fin);
fclose(fout);
return 0;
}