경매 시장
면접 대비시간 제한1초메모리 제한512 MB
정해진 순서의 구매자들이 상품을 왼쪽부터 훑으며 살 수 있거나 최고 입찰가를 넘길 수 있는 첫 상품에 입찰할 때, 최종적으로 낙찰되는 상품 수를 구한다.
문제
어느 날 경매 시장에서 1번부터 N번까지 번호가 붙은 N개의 물품이 판매된다. i번 물품의 시작 가격은 Si이다. 경매에 참여하려는 M명의 구매 희망자가 1번부터 M번까지 번호가 붙어 있고, j번 구매 희망자의 예산은 Bj이다.
각 구매 희망자는 1번부터 M번까지 차례대로, 각자 1번부터 N번까지 물품을 하나씩 살펴보며 그 물품에 입찰할 수 있는지 판단한다. j번 구매 희망자가 i번 물품에 입찰할 수 있는 것은 다음 조건 중 하나 이상을 만족할 때이다.
- 아직 아무도 i번 물품에 입찰하지 않았고 Bj ≥ Si이다.
- 누군가 i번 물품에 입찰했고, Bj가 그 i번 물품에 대한 현재 최고 입찰가보다 엄격하게 크다.
j번 구매 희망자가 i번 물품에 입찰할 수 있으면, 그 물품에 Bj를 입찰하고 남은 물품을 살펴보는 것을 중단한다. 즉 (i + 1)번부터 N번까지의 물품은 무시한다. 이 행동 방식에 따라 각 구매 희망자는 많아야 1개의 물품에만 입찰한다. 구매 희망자가 예산이 너무 낮아 어떤 물품에도 입찰하지 못하는 것도 가능하다.
모든 구매 희망자가 입찰하거나 모든 물품을 살펴본 뒤 하루가 끝나면, 각 물품의 최고 입찰가가 정해지고 물품은 각각 최고 입찰자에게 판매된다. 입찰자가 없는 물품은 판매되지 않는다.
하루가 끝났을 때 성공적으로 판매된 물품의 수를 구하라.
입력
입력은 정수 하나를 담은 줄로 시작한다. N (1 ≤ N ≤ 100 000)은 경매 시장에서 판매되는 물품의 수이다. 둘째 줄에는 N개의 정수 Si (1 ≤ Si ≤ 109)가 주어지며, 각 물품의 시작 가격이다. 셋째 줄에는 정수 M (1 ≤ M ≤ 100 000)이 주어지며, 구매 희망자의 수이다. 넷째 줄에는 M개의 정수 Bj (1 ≤ Bj ≤ 109)가 주어지며, 각 구매 희망자의 예산이다.
출력
하루가 끝났을 때 성공적으로 판매된 물품의 수를 한 줄에 출력한다.