佛山信息学真题 桂城-2021-五年级3.4

 最近学业太忙啦,就停更了一小会儿......

三.挡住视线(GC4093)

GC4093  GC.2021.五年级.03.挡住视线icon-default.png?t=N7T8http://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
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<

四.公交车上乘客数

GC4094  GC.2021.五年级.04.公交车上乘客数icon-default.png?t=N7T8http://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
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<

你可能感兴趣的:(算法,c++,讲题)