151692025-02-14 17:42:0442A Barbárpypy3Accepted 100/100702ms172332 KiB
from sys import stdin
input=stdin.readline

def solv():
 N=int(input())
 D=list(map(int, input().split()))
 if N==1:
  print(0)
  return

 s=[0]*N
 s[0]=0
 s[N-1]=N-1

 S=[0]
 for i in range(1,N-1):
  if D[i]-D[i-1]<=D[i+1]-D[i]:
   while S[-1]>0 and D[S[-1]]-D[S[-1]-1]<=D[i+1]-D[S[-1]]:
    S.pop()
   s[i]=S[-1]
  S.append(i)
 S=[N-1]
 for i in range(N-2,0,-1):
  if D[i+1]-D[i]<D[i]-D[i-1]:
   while S[-1]<N-1 and D[S[-1]+1]-D[S[-1]]<D[S[-1]]-D[i-1]:
    S.pop()
   s[i]=S[-1]
  S.append(i)

 def find(i):
  if s[i]==i:
   return i
  else:
   s[i]=find(s[i])
   return s[i]

 for i in range(N):
  print(N-1-find(i),end=' ')
 return

solv()
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted68ms47720 KiB
2Accepted71ms40204 KiB
subtask212/12
3Accepted43ms19684 KiB
4Accepted45ms19724 KiB
5Accepted43ms19764 KiB
6Accepted48ms21260 KiB
7Accepted50ms21216 KiB
8Accepted48ms21424 KiB
9Accepted45ms21184 KiB
10Accepted43ms21404 KiB
11Accepted41ms19788 KiB
12Accepted43ms21276 KiB
subtask328/28
13Accepted56ms22480 KiB
14Accepted63ms21884 KiB
15Accepted59ms22916 KiB
16Accepted64ms22428 KiB
17Accepted64ms21732 KiB
18Accepted57ms21476 KiB
19Accepted54ms21472 KiB
20Accepted57ms21768 KiB
21Accepted56ms21480 KiB
subtask435/35
22Accepted145ms38156 KiB
23Accepted165ms39140 KiB
24Accepted149ms38160 KiB
25Accepted172ms37524 KiB
26Accepted142ms29668 KiB
27Accepted119ms36180 KiB
28Accepted115ms36256 KiB
29Accepted101ms36308 KiB
30Accepted112ms35708 KiB
31Accepted148ms36780 KiB
subtask525/25
32Accepted574ms162520 KiB
33Accepted570ms144776 KiB
34Accepted702ms165544 KiB
35Accepted518ms142352 KiB
36Accepted601ms150368 KiB
37Accepted446ms146356 KiB
38Accepted446ms155644 KiB
39Accepted519ms153160 KiB
40Accepted467ms153012 KiB
41Accepted615ms172332 KiB
42Accepted508ms149296 KiB
43Accepted542ms154468 KiB
44Accepted580ms165260 KiB
45Accepted555ms139672 KiB
46Accepted547ms139464 KiB
47Accepted574ms170664 KiB
48Accepted643ms159028 KiB
49Accepted555ms154128 KiB
50Accepted632ms170676 KiB