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