Submission #31554184
Source Code Expand
#include<bits/stdc++.h> #define int long long using namespace std; inline int read(){ int x=0,f=1;char c=getchar(); for(;(c<'0'||c>'9');c=getchar()){if(c=='-')f=-1;} for(;(c>='0'&&c<='9');c=getchar())x=x*10+(c&15); return x*f; } const int MN=5e5+5; const int INF=1e9; int a[MN],b[MN],n,val[MN],l[MN],r[MN],pos[MN],pre[MN],suf[MN]; bool chk[MN],vis[MN]; signed main(void){ #ifndef ONLINE_JUDGE freopen("in.in","r",stdin); #endif n=read();int cnt=0; //Hash for(int i=1;i<=n;i++)a[i]=read(),val[++cnt]=a[i]; for(int i=1;i<=n;i++)b[i]=read(),val[++cnt]=b[i]; sort(val+1,val+cnt+1);int len=unique(val+1,val+cnt+1)-val-1; for(int i=1;i<=n;i++)a[i]=lower_bound(val+1,val+len+1,a[i])-val; for(int i=1;i<=n;i++)b[i]=lower_bound(val+1,val+len+1,b[i])-val; for(int i=1;i<=n;i++)if(!pos[b[i]])pos[b[i]]=i; for(int i=1;i<=n;i++)if(!vis[a[i]])vis[a[i]]=1,chk[i]=1; pre[0]=0; for(int i=1;i<=n;i++){ pre[i]=pre[i-1]; if(chk[i])pre[i]=max(pre[i],pos[a[i]]==0?n+1:pos[a[i]]); } suf[n+1]=n+1; for(int i=n;i>=1;i--){ suf[i]=suf[i+1]; if(chk[i])suf[i]=min(suf[i],pos[a[i]]==0?n+1:pos[a[i]]); } int mn=n+1; for(int i=1;i<=n;i++)if(!vis[b[i]])mn=min(mn,i); for(int i=1;i<=n;i++){ if(!chk[i]){l[i]=l[i-1],r[i]=r[i-1];continue;} l[i]=pre[i],r[i]=min(suf[i+1],mn)-1; } int q=read(); while(q--){ int x=read(),y=read(); puts(l[x]<=y&&y<=r[x]?"Yes":"No"); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Prefix Equality |
User | YunQianQwQ |
Language | C++ (GCC 9.2.1) |
Score | 500 |
Code Size | 1463 Byte |
Status | AC |
Exec Time | 125 ms |
Memory | 19848 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt |
All | 00_sample_00.txt, 01_one_00.txt, 01_one_01.txt, 02_smallN_00.txt, 02_smallN_01.txt, 03_rnd_00.txt, 03_rnd_01.txt, 04_normal_00.txt, 04_normal_01.txt, 04_normal_02.txt, 04_normal_03.txt, 04_normal_04.txt, 04_normal_05.txt, 05_largexy_00.txt, 05_largexy_01.txt, 05_largexy_02.txt, 05_largexy_03.txt, 05_largexy_04.txt, 05_largexy_05.txt, 06_rev_00.txt, 07_distinct_00.txt, 08_sumhack_00.txt, 08_sumhack_01.txt, 08_sumhack_02.txt, 09_smallval_00.txt, 09_smallval_01.txt, 09_smallval_02.txt, 09_smallval_03.txt, 09_smallval_04.txt, 09_smallval_05.txt, 09_smallval_06.txt, 09_smallval_07.txt, 09_smallval_08.txt, 09_smallval_09.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 5 ms | 3368 KiB |
01_one_00.txt | AC | 2 ms | 3568 KiB |
01_one_01.txt | AC | 2 ms | 3552 KiB |
02_smallN_00.txt | AC | 19 ms | 3636 KiB |
02_smallN_01.txt | AC | 16 ms | 3456 KiB |
03_rnd_00.txt | AC | 121 ms | 17640 KiB |
03_rnd_01.txt | AC | 118 ms | 17756 KiB |
04_normal_00.txt | AC | 91 ms | 16316 KiB |
04_normal_01.txt | AC | 93 ms | 16312 KiB |
04_normal_02.txt | AC | 73 ms | 16180 KiB |
04_normal_03.txt | AC | 73 ms | 16128 KiB |
04_normal_04.txt | AC | 64 ms | 16120 KiB |
04_normal_05.txt | AC | 63 ms | 16228 KiB |
05_largexy_00.txt | AC | 88 ms | 16204 KiB |
05_largexy_01.txt | AC | 91 ms | 16208 KiB |
05_largexy_02.txt | AC | 72 ms | 16336 KiB |
05_largexy_03.txt | AC | 73 ms | 16120 KiB |
05_largexy_04.txt | AC | 62 ms | 16256 KiB |
05_largexy_05.txt | AC | 66 ms | 16288 KiB |
06_rev_00.txt | AC | 117 ms | 17812 KiB |
07_distinct_00.txt | AC | 125 ms | 19848 KiB |
08_sumhack_00.txt | AC | 48 ms | 16104 KiB |
08_sumhack_01.txt | AC | 46 ms | 15928 KiB |
08_sumhack_02.txt | AC | 44 ms | 16148 KiB |
09_smallval_00.txt | AC | 69 ms | 16068 KiB |
09_smallval_01.txt | AC | 66 ms | 15948 KiB |
09_smallval_02.txt | AC | 68 ms | 16052 KiB |
09_smallval_03.txt | AC | 67 ms | 16080 KiB |
09_smallval_04.txt | AC | 68 ms | 16076 KiB |
09_smallval_05.txt | AC | 67 ms | 16052 KiB |
09_smallval_06.txt | AC | 67 ms | 15880 KiB |
09_smallval_07.txt | AC | 68 ms | 15944 KiB |
09_smallval_08.txt | AC | 68 ms | 16056 KiB |
09_smallval_09.txt | AC | 69 ms | 16052 KiB |