经典修路问题

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

复制代码
#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);
	}
}
相关推荐
叼烟扛炮6 分钟前
C++第四讲:类和对象(下)
c++·算法·类和对象
Rabitebla6 分钟前
vector 的骨架:三根指针、模板陷阱与迭代器失效的第一现场
开发语言·数据结构·c++·算法
时空系7 分钟前
第7篇:功能——打造你的工具箱 Rust中文编程
开发语言·网络·rust
csbysj202016 分钟前
CSS !important:深度解析与最佳实践
开发语言
初心未改HD20 分钟前
Go语言测试与Benchmark:测试驱动开发的实践指南
开发语言·golang
代码不停24 分钟前
BFS解决floodfill算法题目练习
算法·宽度优先
chxii28 分钟前
lua流程控制语句和table(表)数据结构
开发语言·junit·lua
上弦月-编程30 分钟前
C语言指针从入门到实战
java·jvm·算法
WL_Aurora31 分钟前
Python 算法基础篇之树和二叉树
python·算法
txzrxz32 分钟前
关于前缀和
算法·动态规划·图论