#include<bits/stdc++.h>
using namespace std;
struct edge {
int n,nxt;
edge(int n,int nxt) {
this->n=n;
this->nxt=nxt;
}
edge() {}
} e[5050];
int head[5050],ecnt=-1;
void add(int from,int to) {
e[++ecnt]=edge(to,head[from]);
head[from]=ecnt;
}
int s[5050];
bool used[5050];
bool Find(int x) {
if(used[x])
return false;
used[x]=1;
for(int i=head[x]; ~i; i=e[i].nxt)
if(s[e[i].n]==-1||Find(s[e[i].n])) {
s[e[i].n]=x;
return true;
}
return false;
}
int a[5050],b[5050],c[5050];
int ans[5050];
int main() {
memset(head,-1,sizeof(head));
memset(s,-1,sizeof(s));
int n,m,q;
scanf("%d%d",&n,&m);
for(int i=1; i<=n; ++i)
scanf("%d",&a[i]);
for(int i=1; i<=n; ++i)
scanf("%d",&b[i]);
scanf("%d",&q);
for(int i=1; i<=q; ++i) {
scanf("%d",&c[i]);
used[c[i]]=1;
}
for(int i=1; i<=n; ++i)
if(!used[i])
add(a[i],b[i]);
int t=0;
for(int i=q; i>=1; --i) {
memset(used,0,sizeof(used));
while(Find(t)) {
++t;
memset(used,0,sizeof(used));
}
ans[i]=t;
add(a[c[i]],b[c[i]]);
}
for(int i=1; i<=q; ++i)
printf("%d\n",ans[i]);
return 0;
}
561. Array Partition I | 1374. Generate a String With Characters That Have Odd Counts |
1822. Sign of the Product of an Array | 1464. Maximum Product of Two Elements in an Array |
1323. Maximum 69 Number | 832. Flipping an Image |
1295. Find Numbers with Even Number of Digits | 1704. Determine if String Halves Are Alike |
1732. Find the Highest Altitude | 709. To Lower Case |
1688. Count of Matches in Tournament | 1684. Count the Number of Consistent Strings |
1588. Sum of All Odd Length Subarrays | 1662. Check If Two String Arrays are Equivalent |
1832. Check if the Sentence Is Pangram | 1678. Goal Parser Interpretation |
1389. Create Target Array in the Given Order | 1313. Decompress Run-Length Encoded List |
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |