CSP:202012-1 期末预测之安全指数
题目背景
期末要到了,小菜同学找到了自己的好朋友顿顿,希望可以预测一下自己这学期是否会挂科。
题目描述
首先,顿顿选取了如“课堂表现”、“自习时长”、“作业得分”、“社团活动参与度”等nnn项指标作为预测的依据。
然后,顿顿根据自己平日里对小菜的暗中观察,以百分制给每一项指标打分,即小菜同学第i(1≤i≤n)i(1≤i≤n)i(1≤i≤n)项指标的得分scoreiscore_iscorei 是一个[0,100][0,100][0,100]范围内的整数。
鉴于每一项指标的重要性不尽相同,顿顿用一个[−10,10][-10,10][−10,10]范围内的整数wiw_iwi来表示第i(1≤i≤n)i(1≤i≤n)i(1≤i≤n)项指标的重要程度。
最后,小菜同学期末的安全指数yyy定义如下:
y=ReLU(∑i=1nscorei⋅wi)y = \mathrm{ReLU} \left( \sum\limits_{i=1}^{n} score_i \cdot w_i \right)y=ReLU(i=1∑nscorei⋅wi)
其中ReLU(x)=max(0,x)\mathrm{ReLU} \left( x \right) = \max \left( 0, x \right)ReLU(x)=max(0,x)是一种常见的激活函数。
因为使用了ReLU\mathrm{ReLU}ReLU函数,安全指数一定是个非负值。
如果安全指数过低(甚至为零),则说明小菜同学这学期很可能要挂科了……
已知每一项指标的重要程度wiw_iwi和相应的得分scoreiscore_iscorei,快来算算小菜同学期末的安全指数吧。
输入格式
从标准输入读入数据。
输入的第一行包含一个正整数nnn,保证2≤n≤1052 \le n \le 10^{5}2≤n≤105。
接下来输入nnn行,其中第i(1≤i≤n)i(1 \le i \le n)i(1≤i≤n)行包含用空格分隔的两个整数wiw_iwi和scoreiscore_iscorei,分别表示第 项指标的重要程度和小菜同学该项的得分。
输出格式
输出到标准输出。
输出一个非负整数yyy,表示小菜同学期末的安全指数。
样例1输入
6
2 60
10 100
0 70
0 0
-10 50
10 60
样例1输出
1220
样例1解释
y=ReLU(1220)=1220y = \mathrm{ReLU} \left( 1220 \right) = 1220y=ReLU(1220)=1220
样例2输入
2
-10 100
-1 15
样例2输出
0
样例2解释
y=ReLU(−1015)=0y = \mathrm{ReLU} \left( -1015 \right) = 0y=ReLU(−1015)=0
写法示例
#include<stdio.h>
int main()
{
int n, w, score, j = 0;
scanf("%d", &n);
for(int a = 0;a < n; a++)
{
scanf("%d%d", &w, &score);
j += w * score;
}
j = j < 0 ? 0 : j;
printf("%d", j);
return 0;
}
博客围绕CSP 202012 - 1期末预测之安全指数展开,介绍了题目背景,顿顿选取多项指标预测小菜挂科情况,给出安全指数计算公式。还说明了输入输出格式,包含正整数n及指标重要程度和得分,最后给出样例输入输出及解释。
&spm=1001.2101.3001.5002&articleId=112579655&d=1&t=3&u=ae7740be0a034d29b7babd9cc4c6867c)

被折叠的 条评论
为什么被折叠?



