SRM337 D1M BuildingAdvertise
TopCoder Statistics - Problem Statement
This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.
$N \leq 100000$の要素を持つ配列$R$を作る.$R$中の最大長方形を求める.最大長方形として使われる一番小さい要素を$1$つを全探索する.使う要素$i$を一つ決めると,それが一番小さいという仮定があるので,$[left, i]$と$[i, right]$のminが$R[i]$である必要があり,この条件を満たす端を求める二分探索をすることで答えが求まる.区間$[i, n)$で$min = R[i]$を満たす最も右端$right$と,$(-1, i]$で$min = R[i]$を満たす最も左端$left$が求まったとすると,$i$を一番小さい要素として使用した最大長方形は$R[i] * (right - left)$となる.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
|