首页 > 其他分享 >增减序列

增减序列

时间:2023-05-22 16:56:47浏览次数:17  
标签:输出 数列 int long ai 增减 序列 输入

题目描述

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

输入格式

第一行输入正整数 n。
接下来 n 行,每行输入一个整数,第 i+1行的整数代表 ai。

输出格式

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

数据范围

0<n≤10^5,
0≤ai<2147483648

输入样例

4
1
1
2
2

输出样例

1
2

题目分析

image

代码实现

#include<iostream>
using namespace std;
#define int long long
const int N=1e5+5;
int a[N],b[N];
signed main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        scanf("%lld",&a[i]);
        b[i]=a[i]-a[i-1];
    }
    int l=0,r=0;
    for(int i=2;i<=n;i++){
        if(b[i]>0)l+=b[i];
        else if(b[i]<0)r-=b[i];
    }
    cout<<max(l,r)<<endl;
    cout<<abs(l-r)+1<<endl;
    return 0;
}

标签:输出,数列,int,long,ai,增减,序列,输入
From: https://www.cnblogs.com/hxss/p/17421050.html

相关文章

  • MyCat16——分片规则之全局序列
     1主键重复之前创建了PAYMENT_ADDRESS数据表,根据area\_id的值,进行分片设置。那么在实际使用当中,虽然我们在建表时将id字段设置为了主键,但该主键的作用域仅在单个分片的数据库中起作用。当数据被分到不同的数据库分片中,该设置就会失去作用了。我们的分片规则是:100000-300000......
  • drf之APIView+序列化类+Response
    昨日回顾#0ser=BookSerialzier(instance=qs,many=True)---->ListSerializer[序列化对象,序列化对象]ser=BookSerialzier(instance=book)---->BookSerialzier#1定制序列化的字段之source,字段参数 -指定一个要序列化的对象中得字段-指定一个要序列化的对象中得方法,方......
  • LeetCode 105. 从前序与中序遍历序列构造二叉树
    题目链接:LeetCode105.从前序与中序遍历序列构造二叉树题意:给定两个整数数组 preorder和inorder ,其中 preorder是二叉树的先序遍历,inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。解题思路:模拟手动构建的过程,注意下标的变化。完整代码如下:/***Defini......
  • 会声会影2023旗舰版系统配置要求,会声会影序列号能用多少次
    会声会影2023旗舰版(CorelVideoStudio2023)是Corel旗下一款功能强大的专业视频制作软件的视频编辑软件及视频剪辑软件.会声会影2023旗舰版,可以用于剪辑合并视频,制作视频,屏幕录制,光盘制作,视频后期编辑,添加特效,字幕和配音等操作,无需专业的视频编辑知识,任何人都能快速上手.......
  • 【P4331 [BalticOI 2004]】Sequence 数字序列 题解(左偏树维护动态区间中位数)
    左偏树维护动态区间中位数。传送门P4331BalticOI2004Sequence数字序列。Solution1我的思路和题解前半部分完全重合了((如果按照单调不增去分割\(a\)序列的话,对于每一段我们能很简单地得出它的最佳答案:中位数。发现严格单调很难做,很难拿捏,考虑对\(a\)序列的每一项都进......
  • Day04 drf之source序列化字段定制与反序列化校验、modelserializer使用
    今日内容1序列化高级用法之source(了解)#1创建了5个表(图书管理的5个)#2对booke进行序列化#总结:source的用法 -1修改前端看到的字段key值---》source指定的必须是对象的属性 book_name=serializers.CharField(source='name')-2修改前端看到的value值,---......
  • 模块与包,反序列化源码解析,drf请求响应,视图组件两个视图基类
    0模块与包的使用#模块与包 -模块:一个py文件,被别的py文件导入使用,这个py文件称之为模块,运行的这个py文件称之为脚本文件-包:一个文件夹下有__init__.py#模块与包的导入问题 '''0导入模块有相对导入和绝对导入,绝对的路径是从环境变量开始的1......
  • drf之反序列化校验源码分析 、 断言 、drf之请求和响应
    目录一、反序列化校验源码分析入口:总结:二、断言三、drf之请求3.1Request类对象的分析.data.query_params其他的属性用起来跟之前一样3.2请求,能够接受的编码格式限制只能接受某种或某几种编码格式限制方式一:在视图类上写---》只是局部视图类有效限制方式二:在配置文件中写---》全......
  • java中把对象序列化成php序列化的字符串以及把php序列化的字符串反序列化为java对象的
    依赖第三方库phprpc序列化成php格式的字符串很简单,直接调用org.phprpc.util.PHPSerializer.serializer方法就行,有问题的是反序列化php格式的字符串为List或Map对象时,得到的是个AssocArray对象,需要写方法进行转换。通过下面这个方法可以实现转为java对象。publicstati......
  • uni.request(OBJECT)前端post请求数据json序列化
    一、uni-app前端post请求数据json序列化1.前置须知Content-Type实体头部用于指示资源的MIME(媒体)类型mediatype。在响应中,Content-Type标头告诉客户端实际返回的内容的内容类型。在请求中,客户端告诉服务器实际发送的数据类型。2.uni.request({})官方文档2.1dat......