1 条题解

  • 2
    @ 2026-6-27 22:30:32

    先讲讲题意。

    有n名学生,每位学生都有一个初始成绩,但老师改错了, 要进行m次改分,将学生p的成绩改为v分,改完分后,统计成绩没及格严格小于k的学生人数。

    我们可以用a数组来存放学生成绩,然后用while循环a[p]改为v,由于一名学生可能被多次修改,需要将该循环执行完之后再判断a[i]是否严格小于k。

    AC代码如下:

    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+9;
    int a[N];
    int main(){
        int n,m,k;
      //n名学生,m次改分,分数小于k。
        cin>>n>>m>>k;
        for(int i=1;i<=n;i++) cin>>a[i];//学生的初始成绩
        while(m--){
            int p,v;
            cin>>p>>v;
            a[p]=v;//将学生p的成绩改为v分
        }
        int ans=0;
        for(int i=1;i<=n;i++){
            if(a[i]<k){
                ans++;//当a[i]小于k,ans++
            }
        }
        cout<<ans;//输出
        return 0;
    }
    
    

    都看到这了,给个赞呗~

    • 1

    信息

    ID
    94
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    120
    已通过
    52
    上传者