만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

이진 탐색

시간 제한2초메모리 제한1024 MB

요약
길이 n이고 원소가 1부터 n까지인 배열 a와 x의 쌍 중, 주어진 이진 탐색이 true를 반환하는 쌍의 개수를 구합니다.
난이도

보통10점 중 6점

유형
이분 탐색, 동적 계획법, 조합론
정답자
아직 제출이 없습니다

문제

이진 탐색은 정렬된 배열에서 주어진 원소를 찾는 알고리즘입니다. 다음은 이진 탐색의 의사 코드입니다 (<</>>는 정수 나눗셈을 뜻합니다):

입력: a[0..n - 1], x

l = 0;
r = n;
while (l < r - 1) {
    m = (l + r) / 2;
    if (a[m] ≤ x) 
        l = m;
    else 
        r = m;
}
if (a[l] == x)
    return true;
else
    return false;

배열이 정렬되어 있지 않아도 이진 탐색이 배열에서 어떤 원소를 찾아내는 경우가 있습니다. 정수 nn이 주어집니다. 길이가 nn이고 원소가 1부터 nn까지의 정수인 배열 aa와, 1부터 nn까지의 정수 xx로 이루어진 쌍 ⟨a,x⟩\langle a, x\rangle 중에서, 배열 aa와 수 xx를 인자로 위 절차를 실행했을 때 "true"를 반환하는 쌍의 개수를 구하시오.

입력

입력 파일은 정수 nn (1≤n≤10001 \le n \le 1000) 하나를 포함합니다.

출력

문제의 답인 정수 하나를 출력하세요.

예제2

  1. 예제 1

    입력
    1
    
    예상 출력
    1
    
  2. 예제 2

    입력
    2
    
    예상 출력
    5