아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

선물 시장 추세

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

요약
가격 수열의 부분 구간 중 일일 변화량의 평균이 변화량의 표준편차의 P배 이상인 양의 추세와 음의 추세의 개수를 각각 센다.
난이도

보통10점 중 7점

유형
수학, 누적 합, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

Fedor는 석유 선물로 용돈을 벌고 싶다. 그의 분석은 추세와 지난 dd일의 과거 데이터를 바탕으로 한다.

서로 다른 날이 최소 세 개인 비용 수열 c0,c1,c2,⋯ ,cnc_0, c_1, c_2, \cdots, c_n이 세기 PP의 추세를 이룬다는 것은 비용 변화량의 평균이 비용 변화량의 표준편차보다 PP배 이상 크다는 뜻이다.

형식적으로, 비용 변화량의 평균은 A=1n∑i=1n(ci−ci−1)A = \frac{1}{n}\sum\limits_{i=1}^n \left(c_i - c_{i-1}\right)이다. 비용 변화량의 표준편차는 D=1n∑i=1n(ci−ci−1−A)2D = \sqrt{\frac{1}{n}\sum\limits_{i=1}^n{\left(c_i - c_{i-1} - A\right)^2}}이다. 수열이 AD≥P\frac{A}{D} \ge P를 만족하면 세기 PP의 양의 추세를 이루고, AD≤−P\frac{A}{D} \le -P를 만족하면 세기 PP의 음의 추세를 이룬다.

A>0A > 0이고 D=0D = 0이면 임의의 세기에 대해 양의 추세가 형성된다고 가정한다. 마찬가지로 A<0A < 0이고 D=0D = 0이면 임의의 세기에 대해 음의 추세가 형성된다. A=0A = 0이면 D=0D = 0이더라도 추세가 형성되지 않는다.

Fedor는 자신의 이론을 확인하기 위해, 주어진 세기의 양의 추세와 음의 추세를 이루는 과거 데이터의 부분 구간 개수를 세려고 한다. 그를 도와줄 수 있는가?

입력

첫째 줄에 정수 dd (3≤d≤3 0003 \le d \le 3\,000)와 실수 PP (0.001≤P≤10000.001 \le P \le 1000)가 주어진다. dd는 Fedor의 과거 데이터에 있는 날의 수이고 PP는 요구되는 추세의 세기이다. PP는 소수점 아래 최대 9자리까지 주어진다.

둘째 줄에 dd개의 정수 c1,c2,…,cdc_1, c_2, \ldots, c_d (−1000≤ci≤1000-1000 \le c_i \le 1000)가 주어진다. 각 ii에 대해 cic_i는 ii번째 날의 끝에서의 석유 선물 비용이다.

출력

세기 PP의 양의 추세와 음의 추세를 이루는 과거 데이터의 부분 구간 개수를 순서대로 출력한다. PP를 10−810^{-8} 이하로 바꾸어도 답이 변하지 않음이 보장된다.

힌트

세 번째 예제 테스트 케이스는 2020년 4월의 실제 석유 선물 가격을 보여준다 (달러 단위로, 10을 곱하고 반올림하였다). Fedor가 만든 것과 같은 이론을 조심하자.

예제3

  1. 예제 1

    입력
    6 0.2
    100 110 120 30 40 50
    
    예상 출력
    2 8
    
  2. 예제 2

    입력
    6 0.7
    100 110 120 30 40 50
    
    예상 출력
    2 2
    
  3. 예제 3

    입력
    10 1.234
    236 250 227 224 201 198 198 182 -376 100
    
    예상 출력
    0 5