佛山信息学真题 桂城-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<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.公交车上乘客数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<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;
}
  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值