CSES - Putka Open 2015 – 4/6 - Results
Submission details
Task:Pizzeria
Sender:
Submission time:2015-10-11 14:23:13 +0300
Language:Python2
Status:READY
Result:33
Feedback
groupverdictscore
#1ACCEPTED16
#2ACCEPTED17
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.06 s1details
#4ACCEPTED0.06 s1details
#5ACCEPTED0.05 s1details
#6ACCEPTED0.06 s2details
#7ACCEPTED0.06 s2details
#8ACCEPTED0.05 s2details
#9ACCEPTED0.07 s2details
#10ACCEPTED0.06 s2details
#11--3details
#12--3details
#13--3details
#14--3details
#15--3details

Code

import sys
import math
import itertools
from collections import defaultdict

n = int(sys.stdin.readline().rstrip())

taytteet = map(int, sys.stdin.readline().rstrip().split())

pizzas = 1
money = taytteet[0]

for i in xrange(1, len(taytteet)):
	#print money
	money += (pizzas+1)*taytteet[i] + money
	pizzas = pizzas*2 + 1
	money = money % (10**9 + 7)


print money

# actually it just needs the number of pizzas previously
# new money to add when new filling comes:
# number of prev pizzas * new filing price + new filling price
# new number of pizzas:
# number of prev pizzas * 2 + 1


Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
10
14 15 98 62 44 94 18 81 23 20

correct output
240128

user output
240128

Test 2

Group: 1

Verdict: ACCEPTED

input
10
10 58 20 84 87 47 54 23 6 1

correct output
199680

user output
199680

Test 3

Group: 1

Verdict: ACCEPTED

input
10
80 83 53 72 20 34 86 59 3 60

correct output
281600

user output
281600

Test 4

Group: 1

Verdict: ACCEPTED

input
10
51 21 94 65 25 14 54 26 98 80

correct output
270336

user output
270336

Test 5

Group: 1

Verdict: ACCEPTED

input
10
98 74 9 82 76 44 95 19 21 74

correct output
303104

user output
303104

Test 6

Group: 2

Verdict: ACCEPTED

input
20
547665480 437998103 715147312 ...

correct output
900482986

user output
900482986

Test 7

Group: 2

Verdict: ACCEPTED

input
20
899274006 779214197 868921544 ...

correct output
597431505

user output
597431505

Test 8

Group: 2

Verdict: ACCEPTED

input
20
815886531 837353495 212009084 ...

correct output
500875272

user output
500875272

Test 9

Group: 2

Verdict: ACCEPTED

input
20
241554251 300825819 121861755 ...

correct output
727413214

user output
727413214

Test 10

Group: 2

Verdict: ACCEPTED

input
20
616368574 891725964 339440566 ...

correct output
983658830

user output
983658830

Test 11

Group: 3

Verdict:

input
100000
139017989 246745424 98404713 1...

correct output
617854724

user output
(empty)

Test 12

Group: 3

Verdict:

input
100000
740140163 225697185 306382149 ...

correct output
600381749

user output
(empty)

Test 13

Group: 3

Verdict:

input
100000
434033625 139042292 589375131 ...

correct output
814308700

user output
(empty)

Test 14

Group: 3

Verdict:

input
100000
710545624 722749769 936750382 ...

correct output
818868442

user output
(empty)

Test 15

Group: 3

Verdict:

input
100000
952521692 471204215 999299313 ...

correct output
413038708

user output
(empty)