我们可以先将 y 1 y_1 y1 到 y 2 y_2 y2 的所有年份用一个 s u m sum sum 来存储,而 s u m sum sum 是等于 y 2 − y 1 + 1 y_2-y_1+1 y2−y1+1 的。求出 s u m sum sum 后,对于 a i a_i ai 我们只用判断它的范围是否在 y 1 y_1 y1 到 y 2 y_2 y2 之间,如果在,就将 s u m sum sum 减一。最后对于每一组数据输出 s u m sum sum 就可以了。
代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
int T;//T组数据
signed main()
{
cin>>T;
while(T--)//每组数据
{
int x,y,n;
cin>>x;
cin>>n;//输入
int a[n+5];
for(register int i=1;i<=n;i++)
{
cin>>a[i];//输入
}
cin>>y;//输入
int sum=y-x+1;//求出所有年份(不排除停办)
for(register int i=1;i<=n;i++)
{
if(a[i]>=x&&a[i]<=y)//如果在x~y之间
{
sum--;//减去一年
}
}
cout<<sum<<endl;//输出
}
return 0;
}