经典修路问题

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

复制代码
#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);
	}
}
相关推荐
凡人叶枫几秒前
Effective C++ 条款35:考虑 virtual 函数以外的其他选择
java·c++·spring
郝学胜-神的一滴6 分钟前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
hunterkkk(c++)9 分钟前
优先队列启发式最短路径快速算法(优化SPFA)-HEAP_SPFA算法
算法
m0_5474866612 分钟前
《数字图像处理:使用MATLAB分析与实现》全套课件PPT
开发语言·matlab·powerpoint
Full Stack Developme20 分钟前
Apache Tika 教程
java·开发语言·python·apache
SiliconGazer22 分钟前
第15届国赛满分代码解析(下)—— 运动轨迹算法、按键交互与完整状态机
算法·状态机·stc15f2k60s2·浮点运算·蓝桥杯国赛·运动轨迹、·向量分解
Navigator_Z23 分钟前
LeetCode //C - 1096. Brace Expansion II
c语言·算法·leetcode
luj_176825 分钟前
FreeDOS vs MS-DOS PC-DOS 对比解析
服务器·c语言·开发语言·经验分享·算法
桀人35 分钟前
C++——string类的详细介绍
开发语言·c++
橙子进阶之路38 分钟前
Java线程(CompletableFuture)
java·开发语言