题意

一个长度为n的数组(初始全为0),进行m次操作。

操作:给你x,d,你任意挑选一个 i (1~n),每个数字加上 x+|i-j|*d( j 表示对应数字的下标)

问m次操作后的最大算术平均值为多少?

题解

首先对于x,每次数组的和sum都增加n*x。(Σ|i-j|)*d跟我们选的 i 有关系,如果d>0,我们就让 Σ|i-j| 尽量大,如果d<0,我们就让 Σ|i-j| 尽量小。Σ|i-j|的最大值就是 i 取0或n的时候,Σ|i-j|的最小值就是 i 取n/2的时候。维护sum就行了

#include<stdio.h>
#define ll long long
int main( )
{
ll n,m,x,d;
ll sum=;
scanf("%I64d%I64d",&n,&m);
ll MAX,MIN;
MAX=n*(n-)/;
MIN=(n/+)*(n/) - (n%?:n/); while(m--)
{
scanf("%I64d%I64d",&x,&d);
sum+=x*n;
if(d>)
sum+=MAX*d;
if(d<)
sum+=MIN*d; }
printf("%.7f\n",1.0*sum/n);
}

最新文章

  1. 【转】使用SQL Tuning Advisor STA优化SQL
  2. 一场属于HTML5守望者的盛宴——记图灵参加HTML5峰会
  3. Java程序员修炼之道 之 Logging(1/3) - Logback 配置(转)
  4. (转)Android Binder设计与实现 – 设计篇
  5. Visual Studio中的快捷键
  6. CF 486D vailid set 树形DP
  7. [ActionScript 3.0] as3.0加载as2.0的swf时获取as2.0的实际舞台尺寸
  8. PDF数据提取------2.相关类介绍
  9. python中的对象拷贝
  10. ajax/fetch上传富文本时出现中文乱码的解决方案(百分号问题)
  11. Yii框架上传后展示图片
  12. vim+makefile入门编辑,编译,差错实例
  13. 全面掌握Node命令选项
  14. 从零开始搭建VUE项目
  15. bootstrap学习一
  16. 《阿里巴巴 Java 开发手册》划重点!
  17. 关于LUN和卷的思考
  18. Educational Codeforces Round 13 B. The Same Calendar 水题
  19. PHP性能优化四(业务逻辑中使用场景)
  20. 记录一次因为意外断电造成gitlab(docker容器)重启之后无法访问的问题

热门文章

  1. Python基础教程(009)--Python程序的格式以及扩展名
  2. 项目质量管理&mdash;七种基本质量工具
  3. 移动 web 端屏幕适配 - rem
  4. js、jQuery实现文字上下无缝轮播、滚动效果
  5. windows环境下如何安装memcached教程
  6. ArcGIS Runtime SDK for .NET (Quartz Beta)之连接ArcGIS Portal
  7. ubuntu15.4、16.4、17.4设置nginx自启动
  8. ORA-13639: The CURRENT operation was interrupted because it timed OUT
  9. 中国HBase技术社区第一届Meetup资料大合集
  10. 高博SLAM14讲 ch5 点云拼接例程实现与bug处理