比赛 2026.8.26 评测结果 WWWTTTWWTTTTTTTTTTTT
题目名称 interval 最终得分 0
用户昵称 yanglich 运行时间 31.712 s
代码语言 C++ 内存使用 5.45 MiB
提交时间 2026-08-26 12:36:17
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,q,a[300005],b[300005],t[300005];
int main(){
    freopen("intervallavretni.in","r",stdin);
    freopen("intervallavretni.out","w",stdout);
    cin>>n>>q;
    for(int i=0;i<n;i++){
        cin>>a[i]>>b[i];
    }
    while(q--){
        int l,r;
        cin>>l>>r;
        if(l+1==r){
            if(a[l]==b[l]&&a[r]==b[r])cout<<"1\n";
            else if(a[l]==b[l]&&a[l]==a[r]&&a[r]+1==b[r])cout<<"1\n";
            else if(a[r]==b[r]&&a[l]==a[r]&&a[l]+1==b[l])cout<<"1\n";
            else cout<<"0\n";
            continue;
        }
        for(int i=l;i<=r;i++){
            t[i]=b[i];
        }
        sort(t+l,t+r+1);
        bool vis=0;
        for(int i=l+1;i<=r;i++){
            //cout<<t[i]<<' ';
            if(t[i-1]!=t[i]&&t[i-1]!=t[i]-1){
                vis=1;
                break;
            }
        }
        if(vis)cout<<"0\n";
        else cout<<"1\n";
    }
    return 0;
}