当前位置: 首页 > news >正文

web网站开发流程宁波网站推广代运营

web网站开发流程,宁波网站推广代运营,大连城市建设网站,网站建设门店牌子题目描述 给定一个长度为 n 的数列 a_1,a_2,...,a_n,每次可以选择一个区间[l,r],使这个区间内的数都加 1 或者都减 1。 请问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列有多…

题目描述

给定一个长度为 n 的数列 a_1,a_2,...,a_n,每次可以选择一个区间[l,r],使这个区间内的数都加 1 或者都减 1。 
  
请问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列有多少种。

输入格式

第一行一个正整数 n   
接下来 n 行,每行一个整数,第 i+1 行的整数表示 a_i。

输出格式

第一行输出最少操作次数   
第二行输出最终能得到多少种结果

样例 #1

样例输入 #1
4
1
1
2
2

样例输出 #1
1
2

提示

对于 100% 的数据,n<= 100000, 0 <= a_i <= 2^31。

代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;  // 定义 long long 类型的别名为 LL
LL n, c, p, q, a[100010];  // 声明变量int main()
{cin >> n;  // 输入数组的长度 nfor (int i = 1; i <= n; i++){scanf("%lld", &a[i]);  // 输入数组的元素}for (int i = 2; i <= n; i++)  // 从第二个元素开始遍历数组{c = a[i] - a[i - 1];  // 计算相邻元素之间的差值if (c > 0)  // 如果差值大于 0,说明需要增加操作{p += c;  // 累加增加操作次数}else  // 否则,需要减少操作{q -= c;  // 取反后累加减少操作次数}}LL ans1 = max(p, q);  // 找到增加和减少操作次数中的较大值,作为最少操作次数LL ans2 = abs(p - q) + 1;  // 计算操作次数之差的绝对值加 1,作为最终可能的结果种数cout << ans1 << endl << ans2;  // 输出最少操作次数和结果种数return 0;  // 程序结束
}

http://www.hkea.cn/news/614477/

相关文章:

  • 做网站的故意给中病毒网络营销广告
  • 关于阅读类网站的建设规划书友情链接系统
  • 专业做幼儿园设计的网站百度小程序关键词优化
  • 腾龙时时彩做号网站整站优化关键词排名
  • 正规的网站制作与推广百度广告运营
  • 网站建设估价引擎搜索有哪些
  • 东莞网站建设选菲凡网络如何制作网站
  • 网站收录系统备案查询官网
  • 临朐县网站建设利用搜索引擎营销成功的案例
  • 利用网盘做视频网站镇江优化推广
  • 视频微网站开发哪个公司网站设计好
  • 品网站建设智能搜索引擎
  • 怎样在百度建网站seo建设者
  • 四海网络网站建设咨询什么叫做网络营销
  • 安徽建设网官方网站优化分析
  • 网站根目录文件名游戏推广员是做什么的
  • 个体工商户怎么做网站西安网站seo技术
  • 报名网站制作2345网址导航官网下载安装
  • 图书购物网站开发总结百度发广告需要多少钱
  • 做网站 业务流程图站长统计性宝app
  • 长沙做网站大概多少钱万网域名注册教程
  • 成都网站建设网站产品推广计划书怎么写
  • 深圳个人网站建设大连网络推广公司哪家好
  • 建设工程教育appseo技术培训中心
  • 家教中介怎么利用网站来做的免费广告推广
  • wordpress仿制建设seo是什么平台
  • 商城网站建设分为几块seo臻系统
  • 网络营销对于个人而言有什么作用seo文章
  • 做书籍封皮的网站今日中国新闻
  • 东莞建设网站电工培训技术学校