結果
問題 | No.2567 A_1 > A_2 > ... > A_N |
ユーザー | ありあけ |
提出日時 | 2024-10-08 15:40:51 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 579 ms / 2,000 ms |
コード長 | 1,060 bytes |
コンパイル時間 | 156 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 22,964 KB |
最終ジャッジ日時 | 2024-10-08 15:40:57 |
合計ジャッジ時間 | 5,679 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 25 ms
10,624 KB |
testcase_01 | AC | 131 ms
19,580 KB |
testcase_02 | AC | 148 ms
20,004 KB |
testcase_03 | AC | 126 ms
22,656 KB |
testcase_04 | AC | 145 ms
22,964 KB |
testcase_05 | AC | 157 ms
22,680 KB |
testcase_06 | AC | 558 ms
18,816 KB |
testcase_07 | AC | 573 ms
18,688 KB |
testcase_08 | AC | 567 ms
18,560 KB |
testcase_09 | AC | 550 ms
18,432 KB |
testcase_10 | AC | 579 ms
18,432 KB |
testcase_11 | AC | 27 ms
10,496 KB |
testcase_12 | AC | 29 ms
10,880 KB |
testcase_13 | AC | 28 ms
10,880 KB |
testcase_14 | AC | 27 ms
10,752 KB |
testcase_15 | AC | 28 ms
10,624 KB |
testcase_16 | AC | 27 ms
10,624 KB |
ソースコード
T = int(input()) query = [] for i in range(T): n,x = map(int,input().split()) query.append([n,x]) #def kinou(N,X,ans): # if N <= 0 or X <= 0: # return 0 # saisyo = N*(N+1)//2 # hamidasi = X - saisyo # mod = (hamidasi+N-1)//N # print(saisyo,hamidasi,mod) # ans.append(N+mod) # kinou(N-1,(X-N-mod),ans) # for q in query: N = q[0] X = q[1] #N=4 #X=28 ans = [] if N*(N+1)//2 > X: #10>28 print(-1) continue saisyo = N*(N+1)//2 #[4,3,2,1]で10 hamidasi = X - saisyo #18 saidai = N + (hamidasi+N-1)//N #[9,8,7,6]で30 #[8,7,6,5]で26 #最大の数が8だと足りない #saidai=9になるように調整 # print(saisyo,hamidasi,saidai) v = N*(2*saidai-N+1)//2 #print(v,"v") ans1 = list(reversed(range(saidai-N+1,saidai+1))) ans2 = list(reversed(range(saidai-N,saidai))) #print(ans1,ans2) #一旦ans1 = [9,8,7,6] if v != X: ans = ans1[:-v+X]+ans2[-(v-X):] else: ans = ans1 print(*ans)