結果

問題 No.3705 ビバ子とマカロン (Bibako and Macaron)
コンテスト
ユーザー acphot2
提出日時 2026-09-11 18:34:28
言語 PyPy3
(7.3.23 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 909 ms / 3,000 ms
+ 797µs
コード長 806 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 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 点
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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")
        
0