結果
問題 | No.1150 シュークリームゲーム(Easy) |
ユーザー |
|
提出日時 | 2021-04-04 11:28:24 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 71 ms / 2,000 ms |
コード長 | 1,084 bytes |
コンパイル時間 | 321 ms |
コンパイル使用メモリ | 81,884 KB |
実行使用メモリ | 85,632 KB |
最終ジャッジ日時 | 2024-12-26 18:40:49 |
合計ジャッジ時間 | 4,240 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 43 |
ソースコード
N=int(input())s,t=map(int,input().split())s-=1;t-=1A=list(map(int,input().split()))maxi,mini=max(s,t),min(s,t)q1,q2,tmp=A[mini+1:maxi],A[:mini],A[maxi+1:]q2=q2[::-1]+tmp[::-1]dif=A[s]-A[t]#print(q1,q2)if s<t:pos=Trueelse:pos=Falseif len(q1)%2==0 and len(q2)%2==0:ptA=sum(q1[:len(q1)//2])+sum(q2[:len(q2)//2])ptB=sum(q1)+sum(q2)-ptAif pos:print(ptA-ptB+dif)else:print(ptB-ptA+dif)elif len(q1)%2==1 and len(q2)%2==1:ptA=sum(q1[:len(q1)//2])+sum(q2[:len(q2)//2])X,Y=max(q1[len(q1)//2],q2[len(q2)//2]),min(q1[len(q1)//2],q2[len(q2)//2])# print(X,Y,ptA)if pos:ptA+=XptB=sum(q1)+sum(q2)-ptAprint(ptA-ptB+dif)else:ptA+=YptB=sum(q1)+sum(q2)-ptAprint(ptB-ptA+dif)else:ptA=sum(q1[:len(q1)//2])+sum(q2[:len(q2)//2])if len(q1)%2==1:X=q1[len(q1)//2]else:X=q2[len(q2)//2]if pos:ptA+=XptB=sum(q1)+sum(q2)-ptAprint(ptA-ptB+dif)else:ptB=sum(q1)+sum(q2)-ptAprint(ptB-ptA+dif)