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

xtu oj 加一

c80f2bf980c242f2b02cd179367a1ab1.png

样例输入#

2
4
1 2 3 4
4
3 2 4 1

样例输出#

3
5

解题思路:最小操作次数一定是把所有数变成数组中最大值max。

1、找最大值,一开始我把max初始值设为0,如果a[i]>max,max=a[i],WA了。又看了一遍题目,发现所有整数的绝对值小于10的9次方。那如果数组都是负数,最大值是0岂不是出问题了。

解决方法:把max初始值设为a[0]

最大值初始化不要忘记要考虑为负数的情况。

2、把原数组的数变为与max相差值的数。比如 1 2 3 4。最大值为4,新的数组为3 2 1 0

3、a[n]=0,如果a[i]>a[i+1],ans+=a[i]-a[i+1]。找规律即可,注意数组最后一位设为0,i<n。

#include<stdio.h>
int a[10005]={};
int main(){int T;scanf("%d",&T);while(T--){int n,i;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);}//找出数列最大值 int max=a[0];for(i=0;i<n;i++){if(a[i]>=max)max=a[i];}for(i=0;i<n;i++) {a[i]=max-a[i];}a[n]=0; long long cnt=0;for(i=0;i<n;i++){if(a[i]>a[i+1])cnt+=a[i]-a[i+1];}printf("%lld\n",cnt);}
} 

http://www.lryc.cn/news/484638.html

相关文章:

  • QTcpSocket 服务端和客户端
  • Isaac Sim+SKRL机器人并行强化学习
  • 项目中用户数据获取遇到bug
  • SpringSecurity+jwt+captcha登录认证授权总结
  • 项目技术栈-解决方案-web3去中心化
  • 【AI声音克隆整合包及教程】第二代GPT-SoVITS V2:创新与应用
  • 分清数据链路层、网络层、传输层的区别,以及这些层面的代表协议
  • git没有识别出大写字母改成小写重命名的文件目录
  • 自己动手写Qt Creator插件
  • 数据重塑:长宽数据转换【基于tidyr】
  • 多模态大模型开启AI社交新纪元,Soul App创始人张璐团队亮相2024 GITEX GLOBAL
  • 实验6记录网络与故障排除
  • QEMU 模拟器中运行的 Linux 系统
  • Ceph PG(归置组)的状态说明
  • Docker使用docker-compose一键部署nacos、Mysql、redis
  • HTTP常见的状态码有哪些,都代表什么意思
  • WebKit的Windows接口(适用2024年11月份版)
  • Android 最新的AndroidStudio引入依赖失败如何解决?如:Failed to resolve:xxxx
  • ue5 蓝图学习(一)结构体的使用
  • docker--工作目录迁移
  • Golang | Leetcode Golang题解之第556题下一个更大元素III
  • 2分钟在阿里云ECS控制台部署个人应用(图文示例)
  • 2023.8 用于生物医学问答的选择性 UMLS 知识注入
  • chat2db调用ollama实现数据库的操作。
  • Rust 生态系统的未来与学习方向
  • Vue的基础使用
  • c++中,头文件包含iostream.h和`<iostream>`的差别
  • 界面控件DevExpress WPF中文教程:TreeList视图及创建分配视图
  • 软件工程笔记二—— 软件生存期模型
  • 关于若依500验证码问题的求助