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

Compiler report

input/code.cpp: In lambda function:
input/code.cpp:12:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(p2_.size()<=k)p2_.push_back(p2_[p2_.size()-1]*2%M);
                     ^

Code

#include <stdint.h>
#include <iostream>
#include <vector>

const uint64_t M = 1000 * 1000 * 1000 + 7;

int main(){
  std::ios_base::sync_with_stdio(false);
  int n;std::cin>>n;
  std::vector<uint64_t>p2_{1};
  auto p2=[&](int k)->uint64_t{
    while(p2_.size()<=k)p2_.push_back(p2_[p2_.size()-1]*2%M);
    return p2_[k];
  };
  uint64_t result=0;
  for(uint64_t x=0;std::cin>>x;){
    result+=p2(n-1)*x;
    result%=M;
  }
  std::cout<<result<<'\n';
}

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: ACCEPTED

input
100000
139017989 246745424 98404713 1...

correct output
617854724

user output
617854724

Test 12

Group: 3

Verdict: ACCEPTED

input
100000
740140163 225697185 306382149 ...

correct output
600381749

user output
600381749

Test 13

Group: 3

Verdict: ACCEPTED

input
100000
434033625 139042292 589375131 ...

correct output
814308700

user output
814308700

Test 14

Group: 3

Verdict: ACCEPTED

input
100000
710545624 722749769 936750382 ...

correct output
818868442

user output
818868442

Test 15

Group: 3

Verdict: ACCEPTED

input
100000
952521692 471204215 999299313 ...

correct output
413038708

user output
413038708