Task: | Forest |
Sender: | HopeICanCode |
Submission time: | 2016-10-15 14:37:23 +0300 |
Language: | C++ |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | WRONG ANSWER | 0.05 s | details |
#2 | ACCEPTED | 0.70 s | details |
#3 | ACCEPTED | 0.72 s | details |
#4 | ACCEPTED | 0.67 s | details |
#5 | ACCEPTED | 0.67 s | details |
#6 | ACCEPTED | 0.72 s | details |
#7 | ACCEPTED | 0.66 s | details |
#8 | ACCEPTED | 0.69 s | details |
#9 | ACCEPTED | 0.68 s | details |
#10 | ACCEPTED | 0.72 s | details |
#11 | ACCEPTED | 0.68 s | details |
#12 | WRONG ANSWER | 0.80 s | details |
#13 | WRONG ANSWER | 0.77 s | details |
#14 | WRONG ANSWER | 0.74 s | details |
#15 | WRONG ANSWER | 0.75 s | details |
#16 | WRONG ANSWER | 0.80 s | details |
#17 | WRONG ANSWER | 0.73 s | details |
#18 | WRONG ANSWER | 0.77 s | details |
#19 | WRONG ANSWER | 0.76 s | details |
#20 | WRONG ANSWER | 0.77 s | details |
#21 | WRONG ANSWER | 0.39 s | details |
#22 | WRONG ANSWER | 0.16 s | details |
#23 | WRONG ANSWER | 0.08 s | details |
#24 | WRONG ANSWER | 0.09 s | details |
#25 | WRONG ANSWER | 0.12 s | details |
#26 | WRONG ANSWER | 0.09 s | details |
#27 | WRONG ANSWER | 0.08 s | details |
#28 | WRONG ANSWER | 0.10 s | details |
#29 | ACCEPTED | 0.10 s | details |
#30 | ACCEPTED | 0.10 s | details |
#31 | ACCEPTED | 0.04 s | details |
#32 | ACCEPTED | 0.04 s | details |
Code
#include <bits/stdc++.h> #define UNVISITED -1 #define BIGINT 1 << 25 #define _ ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0), cout.precision(15); using namespace std; typedef long long int64; typedef pair<int, int> ii; class Tree{ public: Tree(int p, int h, int left, int right){ this->p = p; this->h = h; this->left = left; this->right = right; } int getP(){ return p; } int getLeftRange(){ return max(p - h, 0); } int getRightRange(){ return p + h; } double getLeft(){ return left / 100.0; } double getRight(){ return right / 100.0; } private: int p, h, left, right; }; int main(){ _ int n, m; cin >> n >> m; vector<Tree> trees; for(int i = 0; i < n; ++i){ int p, h, left, right; cin >> p >> h >> left >> right; trees.push_back(Tree(p, h, left, right)); // cout << trees[i].getLeft() << endl; } vector< ii > mush; vector<int> mushP; vector<double> prob(m, 1.0); for(int i = 0; i < m; ++i){ int p, val; cin >> p >> val; mushP.push_back(p); mush.push_back(ii(p, val)); } sort(mush.begin(), mush.end()); sort(mushP.begin(), mushP.end()); mushP.push_back(BIGINT); for(int i = 0; i < n; ++i){ int p = trees[i].getP(); int leftRange = trees[i].getLeftRange(); int rightRange = trees[i].getRightRange(); double leftP = trees[i].getLeft(); double rightP = trees[i].getRight(); // cout << leftRange << " " << rightRange << endl; vector<int>::iterator low, up; low = lower_bound(mushP.begin(), mushP.end(), leftRange); up = upper_bound(mushP.begin(), mushP.end(), rightRange); int diffA = low - mushP.begin(); int diffB = up - mushP.begin(); // cout << (up == mushP.end()) << endl; // cout << diffA << "\t" << diffB << endl; for(int j = diffA; j < diffB; ++j){ if(mush[j].first == p) continue; else if(mush[j].first < p) prob[j] *= (1.0 - leftP); else prob[j] *= (1.0 - rightP); } } double total = 0; for(int i = 0; i < m; ++i){ total += prob[i] * mush[i].second; } cout << total << endl; return 0; }
Test details
Test 1
Verdict: WRONG ANSWER
input |
---|
1 10000 -102082010 194749759 64 27 -169360811 358 359126034 730 -287313697 384 ... |
correct output |
---|
4609458.5100000035018 |
user output |
---|
4992884.75 |
Test 2
Verdict: ACCEPTED
input |
---|
100000 10000 0 1 88 2 0 1 63 28 0 1 52 43 0 1 17 55 ... |
correct output |
---|
4972578 |
user output |
---|
4972578 |
Test 3
Verdict: ACCEPTED
input |
---|
100000 10000 0 9 1 31 0 4 23 35 0 9 0 31 0 3 19 25 ... |
correct output |
---|
5087113 |
user output |
---|
5087113 |
Test 4
Verdict: ACCEPTED
input |
---|
100000 10000 0 4 34 37 0 8 63 19 0 92 8 51 0 34 48 23 ... |
correct output |
---|
5008738 |
user output |
---|
5008738 |
Test 5
Verdict: ACCEPTED
input |
---|
100000 10000 0 258 60 40 0 518 49 48 0 136 3 45 0 537 21 54 ... |
correct output |
---|
4973582 |
user output |
---|
4973582 |
Test 6
Verdict: ACCEPTED
input |
---|
100000 10000 0 8216 0 85 0 7923 2 10 0 7717 6 6 0 5850 11 56 ... |
correct output |
---|
4996873 |
user output |
---|
4996873 |
Test 7
Verdict: ACCEPTED
input |
---|
100000 10000 0 61439 52 13 0 31641 81 19 0 52991 24 73 0 74428 59 25 ... |
correct output |
---|
4981920 |
user output |
---|
4981920 |
Test 8
Verdict: ACCEPTED
input |
---|
100000 10000 0 588352 21 36 0 697995 49 32 0 743909 22 55 0 307377 26 33 ... |
correct output |
---|
4972641 |
user output |
---|
4972641 |
Test 9
Verdict: ACCEPTED
input |
---|
100000 10000 0 5653692 8 69 0 9357432 11 34 0 1050285 53 26 0 2776597 62 23 ... |
correct output |
---|
4972878 |
user output |
---|
4972878 |
Test 10
Verdict: ACCEPTED
input |
---|
100000 10000 0 17600178 5 21 0 99902608 43 31 0 88368971 1 65 0 71931544 29 1 ... |
correct output |
---|
5028303 |
user output |
---|
5028303 |
Test 11
Verdict: ACCEPTED
input |
---|
100000 10000 0 188985228 13 35 0 15802601 6 84 0 748803313 4 85 0 287562630 27 15 ... |
correct output |
---|
5003777 |
user output |
---|
5003777 |
Test 12
Verdict: WRONG ANSWER
input |
---|
100000 10000 0 153546899 42 12 -1 389479397 79 7 0 853802244 69 31 0 870268645 23 47 ... |
correct output |
---|
0 |
user output |
---|
1660549 |
Test 13
Verdict: WRONG ANSWER
input |
---|
100000 10000 1 982453016 66 21 9 715621763 7 3 -8 738921209 4 14 -1 867559303 19 68 ... |
correct output |
---|
0 |
user output |
---|
2379449 |
Test 14
Verdict: WRONG ANSWER
input |
---|
100000 10000 -8 231075202 33 42 -64 539079444 47 40 -3 913277554 27 72 64 876390450 39 40 ... |
correct output |
---|
0 |
user output |
---|
2499352 |
Test 15
Verdict: WRONG ANSWER
input |
---|
100000 10000 -822 640687527 23 10 -63 950992174 45 54 -326 556836776 3 42 476 660842352 25 46 ... |
correct output |
---|
0 |
user output |
---|
2520968 |
Test 16
Verdict: WRONG ANSWER
input |
---|
100000 10000 7130 403956088 6 36 -126 45945666 6 26 547 342334298 81 15 3570 301443877 26 12 ... |
correct output |
---|
0 |
user output |
---|
2507953 |
Test 17
Verdict: WRONG ANSWER
input |
---|
100000 10000 -79428 461497679 37 2 -42424 58244371 5 45 -29468 880365708 5 86 61735 295975187 38 29 ... |
correct output |
---|
0 |
user output |
---|
2541228 |
Test 18
Verdict: WRONG ANSWER
input |
---|
100000 10000 208306 586056116 64 14 -284428 573846943 53 2 -291410 239961140 23 57 948909 246295319 79 17 ... |
correct output |
---|
0 |
user output |
---|
2483327 |
Test 19
Verdict: WRONG ANSWER
input |
---|
100000 10000 9520619 407909315 20 34 4343857 436518415 12 73 2074712 319882284 38 35 8482234 982127039 2 77 ... |
correct output |
---|
0 |
user output |
---|
2484251 |
Test 20
Verdict: WRONG ANSWER
input |
---|
100000 10000 -15539984 929303404 80 15 96892144 254449084 30 49 93514243 579711370 36 21 -48237130 818395027 44 25 ... |
correct output |
---|
0 |
user output |
---|
2480682 |
Test 21
Verdict: WRONG ANSWER
input |
---|
100000 10000 855342311 491522208 29 7 881646558 966041363 67 20 89636039 486326665 83 7 -334997833 924006860 15 46 ... |
correct output |
---|
0 |
user output |
---|
2494528 |
Test 22
Verdict: WRONG ANSWER
input |
---|
100000 10000 -244523365 24261145 4 71 905282537 99635911 38 46 328378018 12716414 48 22 -490263671 71879670 67 13 ... |
correct output |
---|
0 |
user output |
---|
2478279 |
Test 23
Verdict: WRONG ANSWER
input |
---|
100000 10000 -309176321 7931344 44 11 670761661 4871588 16 77 -877291566 3991335 2 43 467750447 9956482 90 0 ... |
correct output |
---|
0 |
user output |
---|
2531136 |
Test 24
Verdict: WRONG ANSWER
input |
---|
100000 10000 885376769 348428 8 66 -355427923 400403 22 24 -77457635 135948 1 80 -187549451 497296 41 49 ... |
correct output |
---|
0.18573908352633872187 |
user output |
---|
2528177.05031614 |
Test 25
Verdict: WRONG ANSWER
input |
---|
100000 10000 -831679450 979 93 0 830009187 56718 28 49 411212346 88038 26 38 563910477 10089 37 14 ... |
correct output |
---|
928215.57279065309558 |
user output |
---|
2976547.22221126 |
Test 26
Verdict: WRONG ANSWER
input |
---|
100000 10000 835756750 5979 28 12 -224114814 5606 58 26 454282261 6626 27 35 506622396 3092 35 40 ... |
correct output |
---|
4227165.671246830374 |
user output |
---|
4597015.15648183 |
Test 27
Verdict: WRONG ANSWER
input |
---|
100000 10000 316659941 123 0 3 617314355 33 60 35 -827504504 535 17 78 -855931189 531 50 17 ... |
correct output |
---|
4913283.3702000044286 |
user output |
---|
4957185.8504 |
Test 28
Verdict: WRONG ANSWER
input |
---|
100000 10000 76318568 33 28 6 117791067 46 10 1 -840649145 17 19 26 -72446718 32 38 1 ... |
correct output |
---|
4965081.359999999404 |
user output |
---|
4969997.12 |
Test 29
Verdict: ACCEPTED
input |
---|
100000 10000 -438062424 7 27 33 843193716 8 82 0 -516237151 5 31 10 -586574881 10 2 96 ... |
correct output |
---|
5032129.6899999994785 |
user output |
---|
5032178.76 |
Test 30
Verdict: ACCEPTED
input |
---|
100000 10000 96882823 1 20 58 -505818489 1 18 45 333830058 1 52 38 -857687471 1 34 5 ... |
correct output |
---|
5031672.2599999997765 |
user output |
---|
5031672.26 |
Test 31
Verdict: ACCEPTED
input |
---|
1 1 2 2 50 50 1 1 |
correct output |
---|
0.5 |
user output |
---|
0.5 |
Test 32
Verdict: ACCEPTED
input |
---|
2 1 2 2 50 50 4 2 50 50 3 1 |
correct output |
---|
0.25 |
user output |
---|
0.25 |