CSP202012-1 期末预测之安全指数(c语言)

119 阅读2分钟

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

题目背景

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

题目描述

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

最后,小菜同学期末的安全指数yy定义如下:

y=ReLU(i=1nscoreiwi)y = \mathrm{ReLU} \left( \sum\limits_{i=1}^{n} score_i \cdot w_i \right)

其中ReLU(x)=max(0,x)\mathrm{ReLU} \left( x \right) = \max \left( 0, x \right)是一种常见的激活函数。
因为使用了ReLU\mathrm{ReLU}函数,安全指数一定是个非负值。
如果安全指数过低(甚至为零),则说明小菜同学这学期很可能要挂科了……
已知每一项指标的重要程度wiw_i和相应的得分scoreiscore_i,快来算算小菜同学期末的安全指数吧。

输入格式

从标准输入读入数据。
输入的第一行包含一个正整数nn,保证2n1052 \le n \le 10^{5}
接下来输入nn行,其中第i(1in)i(1 \le i \le n)行包含用空格分隔的两个整数wiw_iscoreiscore_i,分别表示第 项指标的重要程度和小菜同学该项的得分。

输出格式

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

样例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) = 1220

样例2输入

2
-10 100
-1 15

样例2输出

0

样例2解释

y=ReLU(1015)=0y = \mathrm{ReLU} \left( -1015 \right) = 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;
}