提出 #7638392
ソースコード 拡げる
import sys
readline = sys.stdin.readline
readlines = sys.stdin.readlines
sys.setrecursionlimit(10 ** 7)
from collections import deque
N,K,*P=map(int,sys.stdin.read().split())
Kmin = []
deq = deque()
for i in range(K):
while deq and P[deq[-1]] > P[i]:
deq.pop()
deq.append(i)
Kmin.append(deq[0])
for i in range(K,N):
if deq[0] == i-K:
deq.popleft()
while deq and P[deq[-1]] > P[i]:
deq.pop()
deq.append(i)
Kmin.append(deq[0])
Kmax = []
deq = deque()
for i in range(K):
while deq and P[deq[-1]] < P[i]:
deq.pop()
deq.append(i)
Kmax.append(deq[0])
for i in range(K,N):
if deq[0] == i-K:
deq.popleft()
while deq and P[deq[-1]] < P[i]:
deq.pop()
deq.append(i)
Kmax.append(deq[0])
is_new_seq = [Kmin[i] != i or Kmax[i+1] != i+K for i in range(N-K)]
is_new_seq
import itertools
incr = [1 if x<y else 0 for x,y in zip(P,P[1:])]
incr_cum = [0] + list(itertools.accumulate(incr))
is_stable = [y-x==K-1 for x,y in zip(incr_cum,incr_cum[K-1:])]
is_new_seq = [x&(not y) for x,y in zip(is_new_seq,is_stable[1:])]
answer = sum(is_new_seq)
if not is_stable[0]:
answer += 1
if any(is_stable):
answer += 1
else:
answer += 1
print(answer)
提出情報
| 提出日時 | |
|---|---|
| 問題 | B - Sorting a Segment |
| ユーザ | maspy |
| 言語 | Python (3.4.3) |
| 得点 | 700 |
| コード長 | 1301 Byte |
| 結果 | AC |
| 実行時間 | 488 ms |
| メモリ | 43832 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 700 / 700 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample-01.txt, sample-02.txt, sample-03.txt |
| All | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, sample-01.txt, sample-02.txt, sample-03.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 01-01.txt | AC | 20 ms | 3316 KiB |
| 01-02.txt | AC | 21 ms | 3316 KiB |
| 01-03.txt | AC | 362 ms | 24324 KiB |
| 01-04.txt | AC | 310 ms | 31584 KiB |
| 01-05.txt | AC | 191 ms | 17152 KiB |
| 01-06.txt | AC | 249 ms | 26404 KiB |
| 01-07.txt | AC | 449 ms | 43832 KiB |
| 01-08.txt | AC | 466 ms | 32376 KiB |
| 01-09.txt | AC | 442 ms | 43832 KiB |
| 01-10.txt | AC | 476 ms | 40240 KiB |
| 01-11.txt | AC | 436 ms | 31352 KiB |
| 01-12.txt | AC | 444 ms | 43708 KiB |
| 01-13.txt | AC | 456 ms | 40260 KiB |
| 01-14.txt | AC | 488 ms | 30968 KiB |
| 01-15.txt | AC | 409 ms | 43068 KiB |
| 01-16.txt | AC | 412 ms | 38332 KiB |
| 01-17.txt | AC | 357 ms | 26104 KiB |
| 01-18.txt | AC | 325 ms | 33040 KiB |
| 01-19.txt | AC | 339 ms | 33500 KiB |
| 01-20.txt | AC | 343 ms | 37208 KiB |
| 01-21.txt | AC | 304 ms | 32260 KiB |
| 01-22.txt | AC | 329 ms | 25208 KiB |
| 01-23.txt | AC | 302 ms | 30776 KiB |
| 01-24.txt | AC | 308 ms | 29576 KiB |
| 01-25.txt | AC | 216 ms | 25560 KiB |
| 01-26.txt | AC | 233 ms | 26312 KiB |
| 01-27.txt | AC | 308 ms | 24852 KiB |
| 01-28.txt | AC | 234 ms | 25432 KiB |
| 01-29.txt | AC | 224 ms | 25432 KiB |
| sample-01.txt | AC | 21 ms | 3316 KiB |
| sample-02.txt | AC | 21 ms | 3316 KiB |
| sample-03.txt | AC | 21 ms | 3316 KiB |