QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#457800#8831. Chemistry Classucup-team112#WA 715ms60736kbPython31.5kb2024-06-29 14:08:492024-06-29 14:08:49

Judging History

你现在查看的是最新测评结果

  • [2024-06-29 14:08:49]
  • 评测
  • 测评结果:WA
  • 用时:715ms
  • 内存:60736kb
  • [2024-06-29 14:08:49]
  • 提交

answer


from sys import stdin

tt = int(stdin.readline())
ANS = []

for loop in range(tt):

    n,A,B = map(int,stdin.readline().split())
    a = list(map(int,stdin.readline().split()))
    a.sort()

    flag = True
    for i in range(2*n-1):
        if abs(a[i] - a[i+1]) > A:
            flag = False
            break
    if not flag:
        ANS.append(-1)
        continue

    acut = [ [] ]
    for i in range(2*n):
        if len(acut[-1]) == 0:
            acut[-1].append(a[i])
        elif abs( acut[-1][-1] - a[i] ) <= B:
            acut[-1].append(a[i])
        else:
            acut.append( [ a[i] ] )
    
    ans = 0
    wait = None

    for aci in range(len(acut)):

        nowlis = acut[aci]

        if wait == None:
            if len(nowlis) % 2 == 0:
                ans += len(nowlis)//2
            else:
                wait = nowlis[-1]
                ans += len(nowlis)//2
        else:
            if len(nowlis) % 2 == 1:
                ans += len(nowlis)//2
                wait = None
            else:
                # check next
                if ( aci==len(acut)-1  ): #next not exist
                    assert False #2n
                nexlis = acut[aci+1]
                if abs(wait-nexlis[0]) <= A: #pass ok
                    ans += len(nowlis)//2
                else: #pass ng
                    ans += len(nowlis)//2-1
                    wait = nowlis[-1]
    
    ANS.append(ans)

print (*ANS,sep="\n")

详细

Test #1:

score: 100
Accepted
time: 12ms
memory: 10572kb

input:

4
1 2 1
42 69
2 3 1
1 2 3 4
2 5 1
6 1 3 4
5 19 1
1 7 8 9 10 11 12 13 14 20

output:

-1
2
1
4

result:

ok 4 number(s): "-1 2 1 4"

Test #2:

score: 0
Accepted
time: 701ms
memory: 60620kb

input:

1
199996 67013419502794 1
403716252634677166 895717933735068492 410002430455111886 844431179242134559 322988383133810700 133475121268220299 481706326769800263 606871141911985391 195911124687409946 959578180866483093 930547702157856949 877914383714875160 994158366044742636 890855755285236186 69498488...

output:

0

result:

ok 1 number(s): "0"

Test #3:

score: 0
Accepted
time: 715ms
memory: 60508kb

input:

1
199998 38987266278826 1
974183459404323858 517476981059568123 730207399881008603 532509909948600146 89227878552241675 16653300445469756 791674368913652595 92177901403222015 980536748304824579 581564387828767376 471919726893404451 759601909683722004 632340812998214017 818440789777778368 18845836031...

output:

0

result:

ok 1 number(s): "0"

Test #4:

score: 0
Accepted
time: 710ms
memory: 60736kb

input:

1
199996 54170919220045 1
968843690955781467 596307347951820347 406785475849275444 383666938223357986 725160735782817082 132577412512120631 891899794864087098 779434145671998619 932681297277907326 208765550447928461 385078857912267975 669360937040314510 917331948890514855 505938744714587815 47145437...

output:

0

result:

ok 1 number(s): "0"

Test #5:

score: 0
Accepted
time: 443ms
memory: 54268kb

input:

1
199998 35667463938291 8255384928693
770468016026697053 519790816750772730 110085058423772871 85144239858008037 782003096084947976 938498644167289660 693768718229582367 242186248813489674 155335549252315364 428982852761422230 890445026369869037 86401573937739054 9122788624365829 63351367715811463 1...

output:

193326

result:

ok 1 number(s): "193326"

Test #6:

score: 0
Accepted
time: 187ms
memory: 54188kb

input:

1
199998 30382921668955 14233448082254
963132297376532181 199422464083525159 322744997549904069 484222268324755182 911994852231141516 486452603601138945 442934186247306449 697067018736912231 391585717434570522 682442472054944522 79264788486972294 313368204441969076 399649435615099454 810055146752799...

output:

-1

result:

ok 1 number(s): "-1"

Test #7:

score: 0
Accepted
time: 682ms
memory: 60584kb

input:

1
200000 47927923462269 1
24665586551853470 302052529263706283 210309971053691602 263076256179345770 857799427692929388 314900213613059794 225906274300855842 877882541418616003 513956968201013413 567629150391542269 663560657201049943 575042209033964444 387676442637519091 186961317429366344 950630734...

output:

0

result:

ok 1 number(s): "0"

Test #8:

score: 0
Accepted
time: 715ms
memory: 60564kb

input:

1
199998 61818605050169 1
165409158781561806 460583142448212326 912671218554176848 626926695695102006 33152959806830617 136688663029016820 174877457605065935 419306800362435196 89763241467680808 834116262786866128 830483250820731866 942265949775152349 147293754228427769 117586183977037844 8168200855...

output:

0

result:

ok 1 number(s): "0"

Test #9:

score: 0
Accepted
time: 697ms
memory: 60448kb

input:

1
199996 34451027260033 1
601283108326080907 366774999584049325 421906214352697372 955853417529868631 15724846216041399 237313052425127959 21985568950819605 990795326302503510 838020773207917956 327286028784534617 668754577944547269 293491049615758976 560132287154617049 178505332245992034 5559649986...

output:

0

result:

ok 1 number(s): "0"

Test #10:

score: 0
Accepted
time: 239ms
memory: 54192kb

input:

1
200000 29187534610932 21950129578571
825099255469982093 186387713027671861 686187988858020000 84398649936510585 404799755268793918 343938261224617536 835021326555656778 414012550526058150 473262296466867769 949711165249895614 876342183912676727 446476677785448323 965973178373470399 211396195851941...

output:

-1

result:

ok 1 number(s): "-1"

Test #11:

score: -100
Wrong Answer
time: 250ms
memory: 54160kb

input:

1
199997 29405605609626 28289738816956
142397526262523706 376764932667952907 458596335650559615 309998508007705361 216906502123233296 997270308488922036 627624046717378857 795390956936077907 455041452649155630 507550903995090795 945772023366794554 886164928026658833 740664590169344757 46022396065308...

output:

-1

result:

wrong answer 1st numbers differ - expected: '199994', found: '-1'