Problem link: CodeChef: Practical coding for everyone

My submission link: CodeChef: Practical coding for everyone

I think I didn’t understand the problem in right way. Please explain this to me.

When the editorial will come?

Given a circular array, you were just supposed to return the maximum possible sum for any three of its contiguous elements

@cubefreak777 Okay. In my solution, first I make another list with with three maximum numbers.

Like if I have a list like this: s = [10, 40, 30, 30, 20]

My program first will create a list from this with 3 maximum number like: s1 = [40, 30, 30]

Then my program print the sum of this like: print(sum(s1))

So, I did return the maximum possible sum. So, where is the wrong? Please clarify to me.

is it necessary to be contiguous elements?

you have to calculate the adjacent 3 elements sum…the sum 1st element with last two elements and similarly sum last element with 1st two elements…and every time you have to check the maximum sum of these three adjacent elements…

```
for _ in range(int(input())):
n=int(input())
ans=0
seq=map(int,input().split())
seq=list(seq)
if(n<6):
for j in range(3):
ans+=max(seq)
seq.remove(max(seq))
else:
for i in range(n):
thisans=seq[i]+seq[(i+1)%n]+seq[i-1]
ans=max(ans,thisans)
print(ans)
```

I think this is correct, but I don’t know python properly, just try putting each person in the middle, and take the max on both sides.

A[10,40,30,30,20] for this

1-> max((10+40+30),(10+20+30))–80

2-> max((40+30+30),(40+20+10))–100

3-> max((30+30+20),(30+40+10))–80

4-> max((30+30+40),(30+20+10))–100

5-> max((20+30+30),(20+10+40))–80

At last max(80,100,80,100,80)----100

So, there should be a sequence like this?:

```
thisans=seq[i]+max(seq[i+1],seq[i+2])+max(seq[i-1],seq[i-2])
```

I think in the question i didn’t get this. Thank you so much!

No I’m wrong

Corrected my code got AC

output is large so use long long int in C

Ans will be = seq[i] + max((seq[i+1] + seq[i+2]) ,(seq[i-1] + seq[i-2]))

and also for the 1st and last element cause the standing was circular

wlcm

You can only take adjacent because the people on the edges also need to be friends, That wasn’t very clear in the question.

Yes…but they also mentioned that the array was circular

Yes, adjacent in the circle, read my new corrected code.

I think its Ok…cause i’m not used to with python…don’t know soo much…