Submission #1154130

#TimeUsernameProblemLanguageResultExecution timeMemory
1154130irmuunGift Exchange (JOI24_ho_t4)C++20
19 / 100
2595 ms4172 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

bool check(ll x1,ll y1,ll x2,ll y2){
    if(y1<x2||y2<x1) return false;
    return true;
}

int main(){
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    ll n;
    cin>>n;
    ll a[n+5],b[n+5];
    for(ll i=1;i<=n;i++){
        cin>>a[i];
    }
    for(ll i=1;i<=n;i++){
        cin>>b[i];
    }
    ll s[n+5],t[n+5];
    for(ll i=1;i<=n;i++){
        s[i]=0;
        for(ll j=i-1;j>=1;j--){
            if(check(b[i],a[i],b[j],a[j])){
                s[i]=j;
                break;
            }
        }
        t[i]=n+1;
        for(ll j=i+1;j<=n;j++){
            if(check(b[i],a[i],b[j],a[j])){
                t[i]=j;
                break;
            }
        }
    }
    ll q;
    cin>>q;
    while(q--){
        ll l,r;
        cin>>l>>r;
        bool ok=true;
        for(ll i=l;i<=r;i++){
            if(s[i]<l&&t[i]>r){
                ok=false;
                break;
            }
        }
        cout<<(ok?"Yes\n":"No\n");
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...