最近学业太忙啦😁,就停更了一小会儿......
三.挡住视线(GC4093)
GC4093 GC.2021.五年级.03.挡住视线
http://43.139.152.26/d/DH_Trial/p/GC4093
题目描述
午饭时间在饭堂排队打饭。一行队伍中有N个人,小明站在队伍中第k个位置,身高高于小明的同学就会挡住小明的视线。请找出队伍中离小明最近且挡住小明视线的人。
输入格式
第一行有一个正整数N,表示队伍中的人数。
第二行有N个正整数ai,依次给出队伍中排队者的身高。
第三行有一个正整数k,表示小明在队伍中的位置。
数据范围 100%数据, 1 <= N <= 100000, k <= 100000 , 100 <= ai < 200;
输出格式
输出小明的前面离小明最近且挡住小明视线的人的位置。如果前面没有人挡住小明视线,就输出-1。
6
132 127 134 127 137 140
4
3
简单的数组的下标问题 ,从下标(k-1)开始从后往前寻找。
#include<bits/stdc++.h>
using namespace std;
int n,a[100005],m,k;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
cin>>m;
for(int i=m-1;i>=1;i--)
{
if(a[i]>a[m])
{
k=i;
break;
}
}
if(k==0)cout<<-1;
else cout<<k;
return 0;
}
四.公交车上乘客数
GC4094 GC.2021.五年级.04.公交车上乘客数
http://43.139.152.26/d/DH_Trial/p/GC4094
题目描述
小明去上学的时候需要乘坐 11 路公交车,假设小明家门口的 11 公交站为起始站,也就是第一站,发车前公交车上没有乘客,小明的学校是 11 路公交车的第 n 站,小明在第一站上车,在第 n站下车。
细心的小明记录了11 路公交车停靠每一站时乘客下车的人数,以及在该公交站等待上车的人数,已知公交车的最大载客量为 m,如果公交车上的人数已经达到最大载客量时,则其他人不能再上车了。乘客非常文明,全部遵循先下后上的原则。
你能根据小明记录的上下车人数,求出小明到达学校后,公交车离开该站时车上的人数?
输入格式
第一行输入两个以空格隔开的正整数 n,m,含义如上述描述。
接下来 n 行,每行以空格隔开的两个非负整数 ai,bi,表示在第 i站下车的人数ai和上车的人数bi。 数据保证到达每一站时,下车的人数小于等于车上的人数。
数据范围 1 <= n <= 20, 10 <= m <= 100。
输出格式 输出小明下车时,公交车离开该站时,车上的乘客人数。
样例
3 30
0 12
2 6
10 20
26
题目太简单了,不讲了。
只要累加数不比m大就能加了
#include<bits/stdc++.h>
using namespace std;
int a,b,n,m,s;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a>>b;
s=s-a+b;
if(s>=m)s=m;
}
cout<<s;
return 0;
}