해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
Olya는 맞춤형 옷장을 사고 싶어 한다. 이 옷장은 높이가 a1, a2, ..., an인 n개의 상자를 어떤 순서로든 하나씩 포개어 쌓은 형태여야 한다. 다시 말해, 각 상자를 길이가 ai인 수직 선분으로 나타낼 수 있으며, 이 모든 선분은 서로 겹치지 않으면서 0부터
까지의 하나의 선분을 이루어야 한다.
상자 중 일부는 중요하고 (in this case bi = 1), 나머지는 중요하지 않다 (then bi = 0). Olya는 밑면의 높이가 l 이상 r 이하인 중요한 상자의 개수를 옷장의 편의성으로 정의한다.
각 상자의 높이와 중요도에 관한 정보가 주어진다. 상자의 순서를 임의로 바꿀 수 있을 때 가능한 옷장의 최대 편의성을 구한다.
첫째 줄에는 세 정수 n, l, r (1 ≤ n ≤ 10 000, 0 ≤ l ≤ r ≤ 10 000)이 주어진다. 각각 상자의 개수와 중요한 상자가 편의성에 포함되기 위한 밑면 높이의 최솟값 및 최댓값이다.
둘째 줄에는 상자의 높이를 나타내는 n개의 정수 a1, a2, ..., an (1 ≤ ai ≤ 10 000)이 주어진다. 모든 상자 높이의 합, 즉 옷장의 높이는 10 000을 넘지 않음이 보장된다. Olya는 키가 그다지 크지 않아 이보다 높은 곳에는 손이 닿지 않는다.
둘째 줄에는 n개의 정수 b1, b2, ..., bn (0 ≤ bi ≤ 1)이 주어진다. i-th번째 상자가 중요하면 bi은 1이고, 그렇지 않으면 0이다.
가능한 옷장의 최대 편의성을 나타내는 하나의 정수를 출력한다.
2 2 5
3 6
1 1
1
5 3 6
3 2 5 1 2
1 1 0 1 0
2
첫 번째 예제에서는, 예를 들어 먼저 높이가 2인 중요하지 않은 상자를 놓고, 그다음 크기가 1, 3, 2인 중요한 상자들을 이 순서대로 놓은 뒤, 나머지 중요하지 않은 상자들을 놓을 수 있다. 크기가 3과 2인 중요한 상자의 밑면이 범위 안에 들어가므로 편의성은 2이다.
두 번째 예제에서는 낮은 상자를 높은 상자 아래에 놓아야 한다.