】奖项颁发【

废话不说,直接看题——

 题目描述

最近,全国第88届信息学奥林匹克竞赛顺利结束。本次竞赛共有n名参赛者,每个人都获得了一定的分数。

作为本次比赛的负责人,你将根据以下标准颁布奖状:

·至少有一个人会获得奖状

·得分为0的人不能获得奖状

·当有一个人获得奖状后,分数不低于他的人也必须获得奖状

接下来,请你确定,有多少种颁发奖状的方案,并输出可能的方案数。

输入格式 

第一行一个数字n(1≤n≤100),表示参加比赛的人数。

接下来一行包含n个整数a1,a2,……,an(0≤ai≤600),表示第i个人获得的分数

输入保证至少有一个人得分不为0。

样例1号

样例输入:

4
1 3 3 2

样例输出:

3

~~对不起没有2号

读完题我不禁感叹一句:得个奖这么简单!!!

奖,能有我的

1.至少有 1 个人有奖状,

2.得分为 0 的人没有奖状,

3.有人获得奖状后,分数不低于他的人也得有奖状。

这不就是算有多少不同的分数(除 0 分外)吗?

      na~的影子不就浮现了吗,

给代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n, a[100];
    int s = 0;
    bool v[601] = {};
    cin >> n;
    for (int i = 0; i < n; i++) cin >> a[i]; 
    for (int i = 0; i < n; i++){
        if (a[i] != 0 && v[a[i]] == false){
            v[a[i]] = true;
            s++;
        }
    }
    cout << s;
    return 0-0;
}

 

 

 点个赞再走吧!

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值