翔子的故事

早上刚出门,想起了祥子是因为“太阳刚一出来,地上就像下了火”,下午又碰见祥子,他已经不再想拥有自己的车了,他甚至都不再想拉车了

链接:https://ac.nowcoder.com/acm/contest/123626/B 来源:牛客网 加藤现在手上有 𝑛 n 条待发布的消息。第 𝑖 i 条消息有两个正整数属性: ∙   ∙ 𝑎 𝑖 a i ​ :该消息的初始影响力。 ∙   ∙ 𝑏 𝑖 b i ​ :该消息的反问强度。 如果加藤将这些消息按某个顺序全部发布,并且消息 𝑖 i 位于发布顺序中的第 𝑡 t 个位置(从 1 1 开始编号),则它最终能贡献的影响力为: val 𝑖 = 𝑎 𝑖 − 𝑏 𝑖 × ( 𝑡 − 1 ) val i ​ =a i ​ −b i ​ ×(t−1)。所有消息的总影响力为它们各自贡献的影响力之和。 加藤当然希望自己的发言影响力大一些,所以她的目标是:选择一种发布顺序,使总影响力尽可能大,直接输出这个最大总影响力。 输入描述: 每个测试文件均包含多组测试数据。第一行输入一个整数 𝑇 ( 1 ≤ 𝑇 ≤ 500 ) T(1≤T≤500) 代表数据组数,每组测试数据描述如下: 第一行输入一个整数 𝑛 ( 1 ≤ 𝑛 ≤ 1 0 5 ) n(1≤n≤10 5 ),表示消息数量。 此后 𝑛 n 行,第 𝑖 i 行输入两个整数 𝑎 𝑖 , 𝑏 𝑖 ( 1 ≤ 𝑎 𝑖 , 𝑏 𝑖 ≤ 1 0 8 ) a i ​ ,b i ​ (1≤a i ​ ,b i ​ ≤10 8 ),表示第 𝑖 i 条消息的初始影响力、反问强度。 除此之外,保证单个测试文件的 𝑛 n 之和不超过 1 0 5 10 5 。 输出描述: 对于每一组测试数据,新起一行输出一个整数,表示加藤的所有消息在最优发布顺序下的最大总影响力。 示例1 输入 复制 1 3 10 1 10 2 10 3 输出 复制 26 #include <bits/stdc++.h> using namespace std; int main() { int T; cin >> T; int n; cin >> n; int v=0; int a[n+1]; int b[n+1]; for(int i=1;i<n+1;i++) { cin >> a[i] >> b[i]; v += a[i]; } int c[n+1]; int u=0; for(int j=1;j<n+1;j++) { u += c[j] * (j-1); } v = v - u; cout << v << endl; return 0; }帮我修改一下代码
11-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值