結果
| 問題 | 
                            No.2771 Personal Space
                             | 
                    
| コンテスト | |
| ユーザー | 
                             timi
                         | 
                    
| 提出日時 | 2024-06-03 19:08:03 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 1,081 ms / 2,000 ms | 
| コード長 | 1,142 bytes | 
| コンパイル時間 | 219 ms | 
| コンパイル使用メモリ | 82,436 KB | 
| 実行使用メモリ | 129,724 KB | 
| 最終ジャッジ日時 | 2024-12-23 10:41:08 | 
| 合計ジャッジ時間 | 19,427 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 1 | 
| other | AC * 24 | 
ソースコード
T=int(input())
import heapq
import heapq 
from heapq import heappop,heappush,heapify
from sys import stdin, setrecursionlimit
input = stdin.readline
readline = stdin.readline
m=-10**10
for i in range(T):
  N,M=map(int, input().split())
  A=[];ans=[-1]*N
  ans[M-1]=1
  if M==1:
    l,r=2,N 
    d=r-l+1
    heapq.heappush(A,(d*m+l,l,r,d))
  elif M==N:
    l,r=1,N-1 
    d=r-l+1
    heapq.heappush(A,(d*m+l,l,r,d))
  else:
    l,r=1,M-1
    d=M-1
    heapq.heappush(A,(d*m+l,l,r,d))
    l,r=M+1,N 
    d=N-M
    heapq.heappush(A,(d*m+l,l,r,d))
  for i in range(N-1):
    d=heapq.heappop(A)
    c,l,r,_=d
    if l!=1 and r!=N:      
      d=(l+r)//2 
      ans[d-1]=i+2
      ll,rr=l,d-1
      if ll<=rr:
        dd=(rr-ll)//2+1
        heapq.heappush(A,(dd*m+ll,ll,rr,dd))
      ll,rr=d+1,r
      if ll<=rr:
        dd=(rr-ll)//2+1
        heapq.heappush(A,(dd*m+ll,ll,rr,dd))
    elif l==1:
      ans[l-1]=i+2
      ll,rr=2,r
      dd=(rr-ll)//2+1
      heapq.heappush(A,(dd*m+ll,ll,rr,dd))
    else:
      ans[r-1]=i+2
      ll,rr=l,r-1
      dd=(rr-ll)//2+1
      heapq.heappush(A,(dd*m+ll,ll,rr,dd))
  print(*ans)
      
      
    
    
            
            
            
        
            
timi