| Task: | Binääripuu |
| Sender: | Ilmari Ayres |
| Submission time: | 2019-01-17 13:51:07 +0200 |
| Language: | C++ |
| Status: | READY |
| Result: | 26 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | ACCEPTED | 26 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | 1 | details |
| #2 | ACCEPTED | 0.01 s | 1 | details |
| #3 | ACCEPTED | 0.02 s | 1 | details |
| #4 | ACCEPTED | 0.02 s | 1 | details |
| #5 | ACCEPTED | 0.01 s | 1 | details |
| #6 | ACCEPTED | 0.03 s | 1 | details |
| #7 | ACCEPTED | 0.03 s | 1 | details |
| #8 | ACCEPTED | 0.02 s | 1 | details |
| #9 | WRONG ANSWER | 0.01 s | 1 | details |
| #10 | ACCEPTED | 0.02 s | 1 | details |
| #11 | WRONG ANSWER | 0.02 s | 1 | details |
| #12 | WRONG ANSWER | 0.03 s | 1 | details |
| #13 | WRONG ANSWER | 0.02 s | 1 | details |
| #14 | WRONG ANSWER | 0.02 s | 1 | details |
| #15 | WRONG ANSWER | 0.02 s | 1 | details |
| #16 | WRONG ANSWER | 0.02 s | 1 | details |
| #17 | ACCEPTED | 0.01 s | 1 | details |
| #18 | ACCEPTED | 0.01 s | 1 | details |
| #19 | WRONG ANSWER | 0.02 s | 1 | details |
| #20 | WRONG ANSWER | 0.02 s | 1 | details |
| #21 | WRONG ANSWER | 0.02 s | 1 | details |
| #22 | ACCEPTED | 0.02 s | 1 | details |
| #23 | ACCEPTED | 0.03 s | 1 | details |
| #24 | ACCEPTED | 0.02 s | 1 | details |
| #25 | ACCEPTED | 0.01 s | 1 | details |
| #26 | ACCEPTED | 0.02 s | 1 | details |
| #27 | ACCEPTED | 0.02 s | 1 | details |
| #28 | ACCEPTED | 0.02 s | 1 | details |
| #29 | ACCEPTED | 0.01 s | 1 | details |
| #30 | ACCEPTED | 0.01 s | 1 | details |
| #31 | ACCEPTED | 0.01 s | 1 | details |
| #32 | ACCEPTED | 0.02 s | 1 | details |
| #33 | ACCEPTED | 0.01 s | 1 | details |
| #34 | ACCEPTED | 0.01 s | 1 | details |
| #35 | ACCEPTED | 0.02 s | 1 | details |
| #36 | ACCEPTED | 0.02 s | 2 | details |
| #37 | ACCEPTED | 0.02 s | 2 | details |
| #38 | ACCEPTED | 0.02 s | 2 | details |
| #39 | ACCEPTED | 0.01 s | 2 | details |
| #40 | ACCEPTED | 0.02 s | 2 | details |
| #41 | ACCEPTED | 0.02 s | 2 | details |
| #42 | ACCEPTED | 0.03 s | 2 | details |
| #43 | ACCEPTED | 0.03 s | 2 | details |
| #44 | ACCEPTED | 0.01 s | 2 | details |
| #45 | ACCEPTED | 0.02 s | 2 | details |
| #46 | ACCEPTED | 0.02 s | 3 | details |
| #47 | ACCEPTED | 0.01 s | 3 | details |
| #48 | ACCEPTED | 0.01 s | 3 | details |
| #49 | ACCEPTED | 0.03 s | 3 | details |
| #50 | ACCEPTED | 0.01 s | 3 | details |
| #51 | ACCEPTED | 0.02 s | 3 | details |
| #52 | WRONG ANSWER | 0.02 s | 3 | details |
| #53 | WRONG ANSWER | 0.03 s | 3 | details |
| #54 | WRONG ANSWER | 0.02 s | 3 | details |
| #55 | WRONG ANSWER | 0.14 s | 3 | details |
| #56 | WRONG ANSWER | 0.15 s | 3 | details |
| #57 | WRONG ANSWER | 0.15 s | 3 | details |
| #58 | WRONG ANSWER | 0.14 s | 3 | details |
| #59 | WRONG ANSWER | 0.14 s | 3 | details |
| #60 | WRONG ANSWER | 0.14 s | 3 | details |
| #61 | WRONG ANSWER | 0.14 s | 3 | details |
| #62 | WRONG ANSWER | 0.14 s | 3 | details |
| #63 | WRONG ANSWER | 0.07 s | 3 | details |
| #64 | WRONG ANSWER | 0.15 s | 3 | details |
| #65 | WRONG ANSWER | 0.14 s | 3 | details |
| #66 | WRONG ANSWER | 0.12 s | 3 | details |
| #67 | ACCEPTED | 0.02 s | 3 | details |
| #68 | ACCEPTED | 0.02 s | 3 | details |
| #69 | ACCEPTED | 0.02 s | 3 | details |
| #70 | ACCEPTED | 0.03 s | 3 | details |
| #71 | ACCEPTED | 0.02 s | 3 | details |
| #72 | ACCEPTED | 0.02 s | 3 | details |
| #73 | ACCEPTED | 0.01 s | 3 | details |
| #74 | ACCEPTED | 0.01 s | 3 | details |
| #75 | ACCEPTED | 0.02 s | 3 | details |
| #76 | ACCEPTED | 0.01 s | 3 | details |
| #77 | ACCEPTED | 0.02 s | 3 | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:50:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i = 0; i < ranges.size(); i++)
~~^~~~~~~~~~~~~~~Code
#include <algorithm>
#include <cmath>
#include <iostream>
#include <set>
#include <vector>
using namespace std;
int main()
{
int n, m;
cin >> n >> m;
//vector<bool> v;
//v.resize(pow(2, n-1), true);
vector<pair<int, int>> ranges;
while(m--)
{
long long int node;
cin >> node;
int a, b;
int level = log2(node);
int fil = pow(2, level);
int w = pow(2, n - level - 1);
a = (node - fil) * w;
b = a + w;
//cout << level << " " << fil << " " << w << endl;
//cout << a << " " << b << endl;
//for(int i = a; i < b; i++)
// v[i] = false;
ranges.push_back(make_pair(a, b));
}
//for(int i = 0; i < v.size(); i++)
// cout << (v[i] ? "*" : "_");
//cout << endl;
sort(ranges.begin(), ranges.end(), [](const pair<int, int> a, const pair<int, int> b) -> bool {return (a.first == b.first ? a.second > b.second : a.first < b.first);});
long long int a = pow(2, n-2), b = pow(2, n-2);
for(int i = 0; i < ranges.size(); i++)
{
while(i > 0 && ranges[i-1].first == ranges[i].first)
i++;
if(ranges[i].second <= pow(2, n-2))
a -= (ranges[i].second - ranges[i].first);
else
b -= (ranges[i].second - ranges[i].first);
}
cout << ((a % 1000000007)*(b % 1000000007)*2 % 1000000007) << endl;
}
Test details
Test 1
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 4 3
10 5 13 |
| correct output |
|---|
| 12 |
| user output |
|---|
| 12 |
Test 2
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 2 0 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 3
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 2 1
2 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 4
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 2 1
3 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 5
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 2 2
2 3 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 6
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 6 0 |
| correct output |
|---|
| 512 |
| user output |
|---|
| 512 |
Test 7
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 6 1
29 |
| correct output |
|---|
| 448 |
| user output |
|---|
| 448 |
Test 8
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 6 1
63 |
| correct output |
|---|
| 480 |
| user output |
|---|
| 480 |
Test 9
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 10
50 63 56 5 ... |
| correct output |
|---|
| 132 |
| user output |
|---|
| 88 |
Test 10
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 6 10
25 57 62 42 ... |
| correct output |
|---|
| 162 |
| user output |
|---|
| 162 |
Test 11
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 10
14 26 34 42 ... |
| correct output |
|---|
| 126 |
| user output |
|---|
| 60 |
Test 12
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 10
21 60 23 59 ... |
| correct output |
|---|
| 128 |
| user output |
|---|
| 96 |
Test 13
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 10
8 30 32 16 ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| -88 |
Test 14
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 20
46 39 55 24 ... |
| correct output |
|---|
| 48 |
| user output |
|---|
| 4 |
Test 15
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 25
36 23 27 33 ... |
| correct output |
|---|
| 4 |
| user output |
|---|
| 100 |
Test 16
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 62
42 11 4 61 ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 2048 |
Test 17
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 6 32
62 38 57 35 ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 18
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 6 21
38 51 47 35 ... |
| correct output |
|---|
| 60 |
| user output |
|---|
| 60 |
Test 19
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 31
59 15 3 26 ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| -1024 |
Test 20
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 6 14
13 53 55 26 ... |
| correct output |
|---|
| 256 |
| user output |
|---|
| -128 |
Test 21
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 5 10
5 17 21 7 ... |
| correct output |
|---|
| 6 |
| user output |
|---|
| -4 |
Test 22
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 6 5
38 18 31 44 ... |
| correct output |
|---|
| 312 |
| user output |
|---|
| 312 |
Test 23
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 0 |
| correct output |
|---|
| 8 |
| user output |
|---|
| 8 |
Test 24
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 1
2 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 25
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 1
3 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 26
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 2
4 6 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 27
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 2
4 7 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 28
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 2
5 6 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 29
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 2
5 7 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 30
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 2
3 6 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 31
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 3
4 5 6 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 32
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 3
4 6 7 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 33
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 3 4
4 5 6 7 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 34
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 5 0 |
| correct output |
|---|
| 128 |
| user output |
|---|
| 128 |
Test 35
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 5 1
14 |
| correct output |
|---|
| 96 |
| user output |
|---|
| 96 |
Test 36
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 2 0 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 37
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 3 0 |
| correct output |
|---|
| 8 |
| user output |
|---|
| 8 |
Test 38
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 4 0 |
| correct output |
|---|
| 32 |
| user output |
|---|
| 32 |
Test 39
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 23 0 |
| correct output |
|---|
| 92960636 |
| user output |
|---|
| 92960636 |
Test 40
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 36 0 |
| correct output |
|---|
| 635008130 |
| user output |
|---|
| 635008130 |
Test 41
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 42 0 |
| correct output |
|---|
| 993282280 |
| user output |
|---|
| 993282280 |
Test 42
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 57 0 |
| correct output |
|---|
| 608377687 |
| user output |
|---|
| 608377687 |
Test 43
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 58 0 |
| correct output |
|---|
| 433510734 |
| user output |
|---|
| 433510734 |
Test 44
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 59 0 |
| correct output |
|---|
| 734042929 |
| user output |
|---|
| 734042929 |
Test 45
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 60 0 |
| correct output |
|---|
| 936171702 |
| user output |
|---|
| 936171702 |
Test 46
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 2 0 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 47
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 2 1
2 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 48
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 2 1
3 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 49
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 2 2
2 3 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 50
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 59 0 |
| correct output |
|---|
| 734042929 |
| user output |
|---|
| 734042929 |
Test 51
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 60 0 |
| correct output |
|---|
| 936171702 |
| user output |
|---|
| 936171702 |
Test 52
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 1
2 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 496695499 |
Test 53
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 1
576460752303423487 |
| correct output |
|---|
| 399775198 |
| user output |
|---|
| 667973450 |
Test 54
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 1
1152921504606846975 |
| correct output |
|---|
| 667973450 |
| user output |
|---|
| 936171702 |
Test 55
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 100000
793144025126277478 493960657696318193 320344157019848454 997683950258055349 ... |
| correct output |
|---|
| 12813436 |
| user output |
|---|
| 334695179 |
Test 56
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 100000
986789393060040220 494066507202684187 290830182157570659 210871095549437400 ... |
| correct output |
|---|
| 95910570 |
| user output |
|---|
| 7556662 |
Test 57
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 100000
562299894758506682 731132428235172865 481500339045425690 208947005967360560 ... |
| correct output |
|---|
| 331624281 |
| user output |
|---|
| 399035655 |
Test 58
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 100000
257846911019866261 803021202233459674 658685893766403373 874237705485665885 ... |
| correct output |
|---|
| 880725152 |
| user output |
|---|
| 200364831 |
Test 59
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 100000
681388061028265547 990382999862855868 290694941402209648 491574111397234946 ... |
| correct output |
|---|
| 768320742 |
| user output |
|---|
| 977331888 |
Test 60
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 100000
816968727394104576 879176301780517486 1075817811951859004 632046213104404023 ... |
| correct output |
|---|
| 111155168 |
| user output |
|---|
| 647555939 |
Test 61
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 100000
406817930303406656 101704482575856800 406817930303412346 813635860606874021 ... |
| correct output |
|---|
| 295651662 |
| user output |
|---|
| 20677079 |
Test 62
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 59 100000
234885934259928845 244746379456935555 40048493361902167 530369614866009610 ... |
| correct output |
|---|
| 78892926 |
| user output |
|---|
| 931610011 |
Test 63
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 16 65534
26355 15205 3420 22822 ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 306674506 |
Test 64
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 99999
1030879879260090869 925369330408563145 403438777989811739 321883235203598800 ... |
| correct output |
|---|
| 596899803 |
| user output |
|---|
| 157729868 |
Test 65
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 60 100000
418885324976523921 418885324976523063 837770649953084829 104721331244134167 ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 39782584 |
Test 66
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 43 100000
5497882741157 4163319796881 3705445016042 8647080351851 ... |
| correct output |
|---|
| 317037701 |
| user output |
|---|
| 693719896 |
Test 67
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 0 |
| correct output |
|---|
| 8 |
| user output |
|---|
| 8 |
Test 68
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 1
2 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 69
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 1
3 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 70
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 2
4 6 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 71
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 2
4 7 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 72
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 2
5 6 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 73
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 2
5 7 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 74
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 2
3 6 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 75
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 3
4 5 6 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 76
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 3
4 6 7 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 77
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 3 4
4 5 6 7 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
