经典修路问题

贪心思想,这里写出是因为第二次碰到这种题目,但还是没有反应过来,所以写一遍加深印象

复制代码
#include<stdio.h>
#define ll long long
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		int n;
		scanf("%d",&n);
		ll str[10003];
		ll max=0;
		for(int i=0;i<n;i++){
			scanf("%lld",&str[i]);
			if(str[i]>max) max=str[i];
		}
		for(int i=0;i<n;i++){
			str[i]=max-str[i];
		}
		ll ans=0;
		ll cz=0;
		for(int i=0;i<n;i++){
			if(str[i]>cz){
				ans+=str[i]-cz;
			}
			cz=str[i];
		}
		if(T!=0) printf("%lld\n",ans);
		else printf("%lld",ans);
	}
}
相关推荐
沐知全栈开发1 小时前
Perl 数据库连接
开发语言
优雅的潮叭1 小时前
c++ 学习笔记之 shared_ptr
c++·笔记·学习
多米Domi0111 小时前
0x3f第33天复习 (16;45-18:00)
数据结构·python·算法·leetcode·链表
SunkingYang1 小时前
QT中使用Lambda表达式作为槽函数用法,以及捕获列表和参数列表用法与区别
c++·qt·用法·lambda表达式·捕获列表·槽函数·参数列表
森叶2 小时前
Java 比 Python 高性能的原因:重点在高并发方面
java·开发语言·python
微露清风2 小时前
系统性学习C++-第二十二讲-C++11
java·c++·学习
qq_316837752 小时前
uni.chooseMedia 读取base64 或 二进制
开发语言·前端·javascript
罗湖老棍子2 小时前
【例4-11】最短网络(agrinet)(信息学奥赛一本通- P1350)
算法·图论·kruskal·prim
方圆工作室2 小时前
【C语言图形学】用*号绘制完美圆的三种算法详解与实现【AI】
c语言·开发语言·算法
Lips6112 小时前
2026.1.16力扣刷题
数据结构·算法·leetcode