Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define maxn 1000030
- int a[maxn]
- int b[maxn];
- int n, m, q = 0, emax = -1;
- void input () {
- scanf("%d%d", &n, &m);
- for (int i = 0; i < n; ++i) {
- scanf("%d", &a[i]);
- if (emax < a[i])
- emax = a[i];
- }
- for (int i = 0; i < m; ++i) {
- scanf("%d", &b[i]);
- if (emax < b[i])
- emax = b[i];
- }
- }
- void output () {
- printf("%d\n", q);
- }
- void solve () {
- int * f = (int*) malloc(sizeof(int) * (emax+1));
- memset(f, 0, sizeof(int) * (emax+1));
- for (int i = 0; i < n; ++i) {
- f[a[i]] = 1;
- }
- for (int i = 0; i < m; ++i) {
- if (f[b[i]]) {
- ++q;
- f[b[i]] = 0;
- }
- }
- }
- int main () {
- input();
- solve();
- output();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement