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

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

Notowania akcji

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

요약
각 질의 K에 대해 주가가 매일 엄격히 상승한 길이 K의 연속 구간 개수를 구한다.
난이도

보통10점 중 6점

유형
배열, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

Firma Bajtex N dni temu wypuściła swoje akcje na bajtockiej giełdzie. Firma ta zastanawia się teraz jak przekonać nowych akcjonariuszy do zainwestowania w swoje akcje. Poza faktem, że akcje przynoszą zyski, firma chciałaby pokazać potencjalnym zainteresowanym, że ich akcje ciągle idą w górę. Aby to zrobić, zdecydowali się wybrać K-fragment, czyli ciąg kolejnych K dni, w którym cena akcji wyłącznie rosła i pokazać te dane potencjalnym zainteresowanym. Teraz zastanawiają sie, ile takich K-fragmentów było dla różnych wartości K.

Dla przykładu, rozważmy następujące kursy akcji firmy Bajtex:

Jeżeli chcielibyśmy wybrać jedynie dwa dni (czyli jeśli rozważamy 2-fragmenty), to możemy to zrobić na pięć sposobów: (2, 3), (3, 4), (4, 5), (7, 8), (8, 9). Zauważ, że nie możemy wybrać dni (5, 6), jako że cena akcji nie wzrosła, a jedynie się utrzymała. Z kolei, jeżeli chcielibyśmy wybrać trzy dni (czyli jeśli rozważamy 3-fragmenty), to możemy to zrobić na trzy sposoby: (2, 3, 4), (3, 4, 5) oraz (7, 8, 9). Nie możemy wybrać dni (1, 2, 3), ponieważ zanotowaliśmy spadek pomiędzy pierwszym a drugim dniem.

Twoim zadaniem będzie dla różnych K obliczyć ile mamy K-fragmentów w danym ciągu.

Napisz program, który wczyta notowania akcji firmy Bajtex oraz zapytania o serie wzrostów, dla każdego zapytania Ki wyznaczy liczbę Ki-fragmentów (czyli spójnych ciągów notowań akcji o długości Ki, w których akcje firmy były ściśle rosnące) i wypisze wyniki na standardowe wyjście.

입력

W pierwszym wierszu wejścia znajduje się jedna liczba naturalna N (1 ≤ N ≤ 500 000), określająca liczbę dni przez które firma Bajtex była na giełdzie. W drugim wierszu wejścia znajduje się ciąg N nieujemnych liczb całkowitych Ai (0 ≤ Ai ≤ 109), pooddzielanych pojedynczymi odstępami. Są to notowania akcji Bajtex w kolejnych dniach. W trzecim wierszu wejścia znajduje się jedna liczba naturalna Q (1 ≤ Q ≤ 500 000), określająca liczbę zapytań. W kolejnych Q wierszach znajduje się opis kolejnych zapytań, po jednym w wierszu. Opis każdego zapytania składa się z jednej liczby naturalnej Ki (1 ≤ Ki ≤ N), określającej zapytanie o liczbę Ki-fragmentów w ciągu notowań akcji.

출력

Twój program powinien wypisać na wyjście ciąg Q liczb całkowitych w osobnych wierszach. i-ta spośród nich powinna określać liczbę Ki-fragmentów.

예제5

  1. 예제 1

    입력
    10
    4 3 5 6 7 7 4 5 6 4
    5
    2
    3
    1
    4
    5
    
    예상 출력
    5
    3
    10
    1
    0
    
  2. 예제 2

    입력
    5
    1 2 3 4 5
    5
    5
    4
    3
    2
    1
    
    예상 출력
    1
    2
    3
    4
    5
    
  3. 예제 3

    입력
    10
    1 1 2 2 3 3 4 4 5 5
    4
    3
    2
    10
    1
    
    예상 출력
    0
    4
    0
    10
    
  4. 예제 4

    입력
    10
    10 9 8 7 6 5 4 3 2 1
    4
    1
    10
    5
    2
    
    예상 출력
    10
    0
    0
    0
    
  5. 예제 5

    입력
    10
    1 2 3 4 5 1 2 3 4 5
    5
    3
    2
    5
    10
    4
    
    예상 출력
    6
    8
    2
    0
    4