[BOJ 3013] 부분 수열의 중앙값

View as PDF

Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 128M

Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

1부터 N까지 자연수 N개로 이루어진 수열 A가 있다. 각 자연수는 수열에서 한 번씩만 등장한다.

A의 부분 수열은 A의 앞과 뒤에서 숫자를 제거해서 만들 수 있다.

길이가 홀수이면서 중앙값이 B인 A의 부분 수열의 개수를 구하는 프로그램을 작성하시오. 중앙값이란 크기 순으로 수열을 정렬했을 때, 가운데에 있는 숫자이다. 예를 들어, {5, 1, 3}의 중앙값은 3이다.

입력 형식

첫째 줄에 N과 B가 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ B ≤ N)

둘째 줄에는 수열 A의 원소가 공백으로 구분되어서 주어진다.

출력 형식

첫째 줄에 중앙값이 B인 A의 부분 수열의 개수를 출력한다.

예제 입력 1

7 4
5 7 2 4 3 1 6

예제 출력 1

4

예제 입력 2

6 3
1 2 4 5 6 3

예제 출력 2

1

예제 입력 3

5 4
1 2 3 4 5

예제 출력 3

2

Comments

There are no comments at the moment.