> 文档中心 > 生命的意义(Life)

生命的意义(Life)

【题目描述】
人生如白驹过隙,在有限的生命中,我们的生命将发挥价值。有的生命重于
泰山,有的生命轻于鸿毛。生命在时间的长河中奔腾向西,朝着胜利的曙光,朝
着明亮的前方,朝着希望的方向,奋斗着,坚持着,拼搏着。时光匆匆流去,是
流淌在指尖的黄沙,是滴在心头的回忆,更是让生命增光添彩的新衣。在这段时
光中,我们能干什么呢?我们是守株待兔,等候着成果降临;还是勇往直前,掀
起又一轮新的风浪?
现在有 n 个生命,第 i 个生命的起始时刻为 li ,结束时刻为 ri。现在有
m 个问题需要查询,每个问题形式如下:
1 x[i] :1 表示查询在 xi 前(不包含 xi)开始的生命的个数。
2 x[i] :2 表示查询在 xi 前(需包含 xi)结束的生命的个数。
因为自己手动查询太麻烦了,所以你需要写一个 c++程序来回答问题。对于
每个问题,输出一行一个整数表示答案。

【输入格式】
第一行两个空格分开的正整数 n 和 m,n 表示生命的个数,m 表示问题的个数。
第二行 n 个正整数 li,用空格隔开。li 表示第 i 个生命在第 li 时刻开始。
第三行 n 个正整数 ri,用空格隔开。ri 表示第 i 个生命在第 ri 时刻结束。
接下来 m 行,每行两个正整数 op 和 xi,用空格隔开,其中 op 的值只可能为 1
或 2,具体意义见题目描述。

【输出格式】
对于每个查询,输出一行一个整数表示答案。
输出共 m 行。

【输入样例】

5 31 4 5 2 32 7 9 4 31 92 91 3

【输出样例】

552

【数据范围】
1≤n,m≤100,1≤li≤ri≤106,1≤xi≤ri 的最大值。

code

#includeusing namespace std;int l[110],r[110];int main(){int n,m,op,xi,cnt=0;int i,j;cin>>n>>m;for(i=1;i<=n;i++)  cin>>l[i];for(i=1;i<=n;i++)  cin>>r[i];for(i=1;i<=m;i++){cnt=0;//要在每次查询时,计数器清零 cin>>op>>xi;if(op==1){  for(j=1;j<=n;j++)  {  if(l[j]<xi)      cnt++;  }  cout<<cnt<<endl;}if(op==2){  for(j=1;j<=n;j++)  {  if(r[j]<=xi)      cnt++;  }  cout<<cnt<<endl;} }return 0;}

在这里插入图片描述

天天赞天天看!!!