1,5,6,10通过,其他TLE求助
查看原帖
1,5,6,10通过,其他TLE求助
402064
kangjingcheng楼主2022/2/6 18:58
#include<iostream>
using namespace std;
int main() {
	int n;
	cin>>n;
	int high[n];
	for(int a=0; a<n; a++) {
		cin>>high[a];
	}
	int h1,h2=-1,h3=-1,h3p=-1,total=0;
	for(int a=1; a<n-1; a++) {
		if(high[a]<=high[a-1]) {
			h1=a-1;
			for(int b=a; b<n-1; b++) {
				if(h3<high[b]) {
					h3=high[b];
					h3p=b;
				}
				if(high[h1]<=high[b]) {
					h2=b;
					break;
				}
			}
			if(h2!=-1) {
				for(int b=a; b<h2; b++) {
					total+=high[h1]-high[b];
				}
				a=h2;
			} else {
				if(h3p==-1) {
					continue;
				} else {
					for(int b=a; b<h3p; b++) {
						total+=high[h3p]-high[b];
					}
					a=h3p;
				}
			}
		}
	}
	cout<<total;
}

如上,通过的几个都是3~7ms就过了,检查了半天都没啥结果。

2022/2/6 18:58
加载中...