L1-100 四项全能(测试点1)

目录

题目链接

测试点1

思路&做法

参考代码


题目链接

L1-100 四项全能 - 团体程序设计天梯赛-练习集

【输入】

第一行

  • n:总人数
  • m:技能的个数

第二行

  • 对于某个技能会的人数

【输出】

  • 对于所有技能会的人数

测试点1

【输入】

3 2

1 1

【预期输出】

0

思路&做法

因为我们要求的是所有技能都会的人数,有一个技能不会都不行,就按照这个思路来解题。

比如

  • 一个班有50人,有两个技能,其中第一个技能会的人数是40人,第二个技能会的人数是30人
  • 对于第二个技能,有20个人不会,恰好这20人在会第一个技能的40人中
  • 那么对于剩下的40-20=20人,都会两个技能。
  • 答案就是20

具体做法:对于会第一个技能的人数,在这个技能的人数中,减去不会其他技能的人数。

特别说明:如果减完最后,是负数,说明会所有技能的人数是0,这一点在测试点1中就有所体会。

参考代码

#include <bits/stdc++.h>
#define debug(x) cout << endl << "===>" << #x << "=" << x << endl;
#define output(x) cout << x << endl
using namespace std;


void solve() {
    int n, m;//总共n人,m个技能
    cin >> n >> m;
    vector<int> v(m);
    for(int i = 0; i < m; i++) cin >> v[i];
    int t = v[0];//t为所有技能都会的人数
    for(int i = 1; i < m; i++) {
        t = t - (n - v[i]);
    }
    //测试点1
    t = max(t, 0);//如果t是负数,改为0
    output(t);
}

signed main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    solve();
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值