【CSP】202012-1 期末预测之安全指数

2020年 第21次CCF计算机软件能力认证  202012-1 期末预测之安全指数

原题链接:期末预测之安全指数

时间限制: 1.0 秒

空间限制: 512 MiB

目录

题目背景

题目描述

输入格式

输出格式

样例1输入

样例1输出

样例1解释

样例2输入

样例2输出

样例2解释

解题思路

AC代码


题目背景

期末要到了,小菜同学找到了自己的好朋友顿顿,希望可以预测一下自己这学期是否会挂科。

题目描述

首先,顿顿选取了如“课堂表现”、“自习时长”、“作业得分”、“社团活动参与度”等 𝑛 项指标作为预测的依据。 然后,顿顿根据自己平日里对小菜的暗中观察,以百分制给每一项指标打分,即小菜同学第 𝑖i(1≤𝑖≤𝑛)项指标的得分 𝑠𝑐𝑜𝑟𝑒𝑖是一个 [0,100] 范围内的整数。 鉴于每一项指标的重要性不尽相同,顿顿用一个 [−10,10]范围内的整数 𝑤𝑖 来表示第 𝑖i(1≤𝑖≤𝑛)项指标的重要程度。

最后,小菜同学期末的安全指数 𝑦定义如下:𝑦=ReLU(∑𝑖=1𝑛𝑠𝑐𝑜𝑟𝑒𝑖⋅𝑤𝑖)其中 ReLU(𝑥)=max⁡(0,𝑥) 是一种常见的激活函数。 因为使用了 ReLU函数,安全指数一定是个非负值。 如果安全指数过低(甚至为零),则说明小菜同学这学期很可能要挂科了……

已知每一项指标的重要程度 𝑤𝑖和相应的得分 𝑠𝑐𝑜𝑟𝑒𝑖,快来算算小菜同学期末的安全指数吧。

输入格式

从标准输入读入数据。

输入的第一行包含一个正整数 𝑛,保证 2≤𝑛≤105。

接下来输入 𝑛n 行,其中第 𝑖i(1≤𝑖≤𝑛)行包含用空格分隔的两个整数 𝑤𝑖和 𝑠𝑐𝑜𝑟𝑒𝑖,分别表示第 𝑖 项指标的重要程度和小菜同学该项的得分。

输出格式

输出到标准输出。

输出一个非负整数 𝑦,表示小菜同学期末的安全指数。

样例1输入

6
2 60
10 100
0 70
0 0
-10 50
10 60

样例1输出

1220

样例1解释

𝑦=ReLU(1220)=1220

样例2输入

2
-10 100
-1 15

样例2输出

0

样例2解释

𝑦=ReLU(−1015)=0

解题思路

求前缀和。

AC代码

#include<bits/stdc++.h>

using namespace std;

const int N = 1e5 + 10;

int n;
int w, s, sum[N];

int main()
{
    cin >> n;
    
    for(int i = 1; i <= n; i ++)
    {
        cin >> w >> s;
        sum[i] += sum[i-1] + w * s;
    }
    cout << max(sum[n], 0) << endl;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值