天天看點

擺攤

傳送

擺攤
擺攤

這道題的正解好像是(超級厲害的)主席樹!(蒟蒻不會啦)

70分的暴力模拟

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<cmath>
#define M 200009
using namespace std;
int n,m,Q;
int a[M];
bool f[M];
int main()
{
    //freopen("stall.out","w",stdout); 
    scanf("%d%d%d",&n,&m,&Q);
    for(int i=;i<=m;i++) scanf("%d",&a[i]);

    while(Q--)
    {
        int l,r,flag=;
        scanf("%d%d",&l,&r);
        for(int i=l;i<=r;i++) f[a[i]]=;
        for(int i=;i<n;i++)
        {
            if(!f[i]&&!f[i+])
            {
                printf("%d %d\n",i,i+);
                flag=;
                break;
            }
        }
        if(!flag) printf("-1 -1\n");
        for(int i=l;i<=r;i++) f[a[i]]=;
    }
    return ;
}
           

繼續閱讀