QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#421013#2365. Flight CollisionchmproWA 177ms47172kbPython3729b2024-05-25 09:46:352024-05-25 09:46:35

Judging History

This is the latest submission verdict.

  • [2024-05-25 09:46:35]
  • Judged
  • Verdict: WA
  • Time: 177ms
  • Memory: 47172kb
  • [2024-05-25 09:46:35]
  • Submitted

answer

import heapq as hq
import sys
input=sys.stdin.readline
F=lambda:[*map(int,input().split())]
N=int(input())
A=[F()for _ in range(N)]
RMV=[0]*N
NXT=[i+1 for i in range(N)]
PRV=[i-1 for i in range(N)]
NXT[-1]=-1

HQ=[]
for i in range(N-1):
  x1,v1=A[i]; x2,v2=A[i+1]
  if v2>=v1:continue
  t=(x2-x1)/(v1-v2)
  hq.heappush(HQ,(t,i,i+1))

while HQ:
  t,i,j=hq.heappop(HQ)
  if RMV[i] or RMV[j]:continue
  RMV[i]=RMV[j]=1
  prv=PRV[i]; nxt=NXT[j]
  if prv!=-1:NXT[prv]=nxt
  if nxt!=-1:PRV[nxt]=prv
  if prv!=-1 and nxt!=-1:
    x1,v1=A[prv]; x2,v2=A[nxt]
    if v2>=v1:continue
    t=(x2-x1)/(v1-v2)
    hq.heappush(HQ,(t,prv,nxt))
print(N-sum(RMV))
for i in range(N):
  if RMV[i]==0:print(i+1,end=' ')

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 3ms
memory: 10676kb

input:

1
-4 13

output:

1
1 

result:

ok 2 lines

Test #2:

score: 0
Accepted
time: 15ms
memory: 10776kb

input:

5
1 1000000000
2 1000000000
3 -1000000000
4 -1000000000
5 -1000000000

output:

1
5 

result:

ok 2 lines

Test #3:

score: 0
Accepted
time: 12ms
memory: 10660kb

input:

3
-1000000000 1
999999999 0
1000000000 0

output:

1
3 

result:

ok 2 lines

Test #4:

score: 0
Accepted
time: 10ms
memory: 10656kb

input:

2
5 4
10 5

output:

2
1 2 

result:

ok 2 lines

Test #5:

score: 0
Accepted
time: 9ms
memory: 10636kb

input:

9
10 10
20 7
30 5
40 0
42 0
50 -1
60 -2
70 -10
80 -12

output:

1
1 

result:

ok 2 lines

Test #6:

score: 0
Accepted
time: 9ms
memory: 10608kb

input:

5
10 0
20 0
30 1
40 0
50 0

output:

3
1 2 5 

result:

ok 2 lines

Test #7:

score: 0
Accepted
time: 147ms
memory: 38684kb

input:

98765
0 -48539
1 -48539
2 -48539
3 -48539
4 -48539
5 -48539
6 -48539
7 -48539
8 -48539
9 -48539
10 -48539
11 -48539
12 -48539
13 -48539
14 -48539
15 -48539
16 -48539
17 -48539
18 -48539
19 -48539
20 -48539
21 -48539
22 -48539
23 -48539
24 -48539
25 -48539
26 -48539
27 -48539
28 -48539
29 -48539
30 -...

output:

98765
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10...

result:

ok 2 lines

Test #8:

score: 0
Accepted
time: 177ms
memory: 47172kb

input:

99999
-999999396 999999395
-999971669 999999396
-999971668 -999999396
-999961260 999999396
-999961259 -999999396
-999907239 999999396
-999907238 -999999396
-999754561 999999396
-999754560 -999999396
-999662011 999999396
-999662010 -999999396
-999651505 999999396
-999651504 -999999396
-999619141 9999...

output:

1
99999 

result:

ok 2 lines

Test #9:

score: -100
Wrong Answer
time: 163ms
memory: 47152kb

input:

99999
-999999244 999999243
-999956299 999999244
-999956298 -999999244
-999945616 999999244
-999945615 -999999244
-999944410 999999244
-999944409 -999999244
-999891030 999999244
-999891029 -999999244
-999862261 999999244
-999862260 -999999244
-999835376 999999244
-999835375 -999999244
-999705681 9999...

output:

1
99999 

result:

wrong answer 2nd lines differ - expected: '1', found: '99999 '