結果
| 問題 | No.3705 ビバ子とマカロン (Bibako and Macaron) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-09-11 18:34:28 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 909 ms / 3,000 ms |
| + 797µs | |
| コード長 | 806 bytes |
| 記録 | |
| コンパイル時間 | 72 ms |
| コンパイル使用メモリ | 80,768 KB |
| 実行使用メモリ | 164,620 KB |
| 最終ジャッジ日時 | 2026-09-11 18:35:00 |
| 合計ジャッジ時間 | 29,971 ms |
|
ジャッジサーバーID (参考情報) |
judge2_1 / judge3_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| 小課題1 | 10 % | AC * 5 |
| 小課題2 | 30 % | AC * 8 |
| 小課題3 | 60 % | AC * 15 |
| 合計 | 100 点 |
ソースコード
import sys
N= int(input())
A = list(map(int, input().split()))
R = [0 for _ in range(N+1)]
U1 = [0 for _ in range(N+1)]
U2 = [0 for _ in range(N+1)]
for i in range(N):
R[A[i]] += 1
for i in range(1, N+1):
if R[i] >0:
U1[i] = U1[i-1] + 1
else:
U1[i] = U1[i-1]
if R[i] >1:
U2[i] = U2[i-1] + 1
else:
U2[i] = U2[i-1]
Q = int(input())
for i in range(Q):
flag = True
x = list(map(int, input().split()))
if U1[x[1]] - U1[x[0]-1] < x[1] -x[0]+1:
flag = False
if U1[x[3]] - U1[x[2]-1] < x[3] -x[2]+1:
flag = False
ml, mr = max(x[0], x[2]), min(x[1], x[3])
if (ml <= mr) and (U2[mr] - U2[ml-1] < mr - ml+1) :
flag = False
if flag:
print('Yes')
else:
print("No")