题目描述 star同学的妈妈是一个喜欢问问题的家长,star同学也是一个喜欢回答问题的孩子.
但是star同学发现,他的妈妈由于年龄大了,经常昨天的问题他问过了,今天又问了一遍.
所以由于昨天刚刚问的,所以第二天他还记得答案,所以很快就报了答案.(这个就是动态规划的基本思想子问题性质,重复的子问题,我们记录下来然后用到的时候直接用,我们用大脑记录答案,而计算机用数组来记录).
star同学的妈妈昨天问了nn个问题,且都获得了回答!今天妈妈又准备了mm个问题,我们想知道的是,star同学自己今天需要重新思考了几道题.
输入格式 第一行,两个整数n,mn,m
第二行, 输入nn个问题的序号a_ia i 。
第三行,输入mm个问题的序号b_ib i 。
输出格式 一个整数,输出star同学需要重新思考几道题.
样例数据 输入 3 4 1 2 3 5 5 2 3 输出 1 数据范围 对于 20%20% 的数据:n,m<=10^4n,m<=10 4 。
对于 60%60% 的数据:n,m\le 10^6,a_i,b_i \le 10^6n,m≤10 6 ,a i ,b i ≤10 6 。
对于 100%100% 的数据:n,m\le 10^6,a_i,b_i\le 10^{18}n,m≤10 6 ,a i ,b i ≤10 18 。
求助,不知道为什么只能过六个点
进行一个代码的贴
#include<iostream>
#include<algorithm>
using namespace std;
long long a[1001000];
long long b[1000100];
int main(){
long long n,m;
scanf("%lld%lld",&n,&m);
for(long long i=1;i<=n;i++){
long long x;
scanf("%lld",&x);
a[x]=1;
}
long long sum=0;
for(long long i=1;i<=m;i++){
long long x;
scanf("%lld",&x);
if(a[x]==0){
sum++;
a[x]=1;
}
}
printf("%lld",sum);
}