试题编号: 202012-1
试题名称: 期末预测之安全指数
时间限制: 1.0s
内存限制: 512.0MB
题目背景
期末要到了,小菜同学找到了自己的好朋友顿顿,希望可以预测一下自己这学期是否会挂科。
题目描述
先,顿顿选取了如“课堂表现”、“自习时长”、“作业得分”、“社团活动参与度”等
n
n
n项指标作为预测的依据。然后,顿顿根据自己平日里对小菜的暗中观察,以百分制给每一项指标打分,即小菜同学第
i
(
1
≤
i
≤
n
)
i(1 \leq i \leq n)
i(1≤i≤n)项指标的得分
s
o
c
r
e
i
socre_i
socrei是一个
[
0
,
100
]
[0,100]
[0,100]范围内的整数。鉴于每一项指标的重要性不尽相同,顿顿用一个
[
−
10
,
10
]
[-10,10]
[−10,10]范围内的整数
w
i
w_i
wi来表示第
i
(
1
≤
i
≤
n
)
i(1 \leq i \leq n)
i(1≤i≤n)项指标的重要程度。最后,小菜同学期末的安全指数
y
y
y定义如下:
y
=
ReLU
(
∑
i
=
1
n
s
core
i
⋅
w
i
)
y = \operatorname{ReLU}\left(\sum_{i = 1}^{n} s \operatorname{core}_{i} \cdot w_{i}\right)
y=ReLU(i=1∑nscorei⋅wi)
其中
ReLU
(
x
)
=
max
(
0
,
x
)
\operatorname{ReLU}(x)=\max (0, x)
ReLU(x)=max(0,x)是一种常见的激活函数。
因为使用了
ReLU
\operatorname{ReLU}
ReLU函数,安全指数一定是个非负值。
如果安全指数过低(甚至为零),则说明小菜同学这学期很可能要挂科了……
已知每一项指标的重要程度
w
i
w_i
wi和相应的得分
s
c
o
r
e
i
score_i
scorei,快来算算小菜同学期末的安全指数吧。
输入格式
从标准输入读入数据。
输入的第一行包含一个正整数
n
n
n,保证
2
≤
n
≤
1
0
5
2 \leq n \leq 10^{5}
2≤n≤105。
接下来输入
n
n
n行,其中第
i
(
1
≤
i
≤
n
)
i(1 \leq i \leq n)
i(1≤i≤n)行包含用空格分隔的两个整数
w
i
w_i
wi和
s
c
o
r
e
i
score_i
scorei,分别表示第
i
i
i项指标的重要程度和小菜同学该项的得分。
输出格式
输出到标准输出。
输出一个非负整数 y y y,表示小菜同学期末的安全指数。
样例1输入
6
2 60
10 100
0 70
0 0
-10 50
10 60
样例1输出
1220
样例2输入
2
-10 100
-1 15
样例2输出
0
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, w, score_, res = 0;
cin >> n;
while(n--){
cin >> w >> score_;
res += w * score_;
}
cout << max(0, res) << endl;
return 0;
}