Task: | Tree Traversals |
Sender: | ollpu |
Submission time: | 2018-09-20 17:51:06 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.02 s | details |
#2 | ACCEPTED | 0.02 s | details |
#3 | ACCEPTED | 0.02 s | details |
#4 | ACCEPTED | 0.08 s | details |
#5 | ACCEPTED | 0.09 s | details |
#6 | ACCEPTED | 0.10 s | details |
#7 | ACCEPTED | 0.14 s | details |
#8 | ACCEPTED | 0.09 s | details |
#9 | ACCEPTED | 0.15 s | details |
#10 | ACCEPTED | 0.26 s | details |
#11 | ACCEPTED | 0.26 s | details |
#12 | ACCEPTED | 0.26 s | details |
#13 | ACCEPTED | 0.26 s | details |
#14 | ACCEPTED | 0.25 s | details |
#15 | ACCEPTED | 0.27 s | details |
#16 | ACCEPTED | 0.26 s | details |
Code
#pragma GCC target ("arch=haswell") #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int k, q; cin >> k >> q; long s = 0; for (int qi = 0; qi < q; ++qi) { long x; cin >> x; int l = __builtin_ctzl(x); long v = (1l<<(k-l-1)) + (x>>(l+1)); s += v; s %= long(1e9+7); } cout << s << endl; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
3 7 1 2 3 4 5 6 7 |
correct output |
---|
28 |
user output |
---|
28 |
Test 2
Verdict: ACCEPTED
input |
---|
6 256 28 55 1 48 52 31 51 4 37 10 56... |
correct output |
---|
8822 |
user output |
---|
8822 |
Test 3
Verdict: ACCEPTED
input |
---|
4 256 8 14 15 11 5 6 5 8 7 11 14 4 1... |
correct output |
---|
2096 |
user output |
---|
2096 |
Test 4
Verdict: ACCEPTED
input |
---|
1 1000000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
correct output |
---|
1000000 |
user output |
---|
1000000 |
Test 5
Verdict: ACCEPTED
input |
---|
41 1000000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
correct output |
---|
79418660 |
user output |
---|
79418660 |
Test 6
Verdict: ACCEPTED
input |
---|
5 1000000 29 31 27 1 16 31 2 29 31 6 31 ... |
correct output |
---|
16006290 |
user output |
---|
16006290 |
Test 7
Verdict: ACCEPTED
input |
---|
18 1000000 261603 191019 183062 125635 19... |
correct output |
---|
89165770 |
user output |
---|
89165770 |
Test 8
Verdict: ACCEPTED
input |
---|
55 1000000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
correct output |
---|
195316333 |
user output |
---|
195316333 |
Test 9
Verdict: ACCEPTED
input |
---|
26 1000000 1223252 13025628 23067963 3612... |
correct output |
---|
599130564 |
user output |
---|
599130564 |
Test 10
Verdict: ACCEPTED
input |
---|
60 1000000 657592084269048566 42762072789... |
correct output |
---|
587087255 |
user output |
---|
587087255 |
Test 11
Verdict: ACCEPTED
input |
---|
60 1000000 859446971189816813 20280193767... |
correct output |
---|
757029632 |
user output |
---|
757029632 |
Test 12
Verdict: ACCEPTED
input |
---|
60 1000000 1097888207762557868 9748981948... |
correct output |
---|
248893082 |
user output |
---|
248893082 |
Test 13
Verdict: ACCEPTED
input |
---|
60 1000000 863731001976201423 34268342906... |
correct output |
---|
466255573 |
user output |
---|
466255573 |
Test 14
Verdict: ACCEPTED
input |
---|
60 1000000 36107662162216830 647995524998... |
correct output |
---|
129209858 |
user output |
---|
129209858 |
Test 15
Verdict: ACCEPTED
input |
---|
60 1000000 887496243842327968 52624068418... |
correct output |
---|
244549316 |
user output |
---|
244549316 |
Test 16
Verdict: ACCEPTED
input |
---|
60 1000000 1134575123699572988 4087840238... |
correct output |
---|
503768598 |
user output |
---|
503768598 |