20pts
  • 板块P1318 积水面积
  • 楼主HbugU
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/6/14 12:59
  • 上次更新2023/10/27 23:20:03
查看原帖
20pts
510360
HbugU楼主2022/6/14 12:59
#include<bits/stdc++.h>
using namespace std;
int n,a[10005],ans;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	int last=n,fr=2;
	for(int i=fr;i<=n;i++){
		if(a[i]!=0) break;
		else fr++;
	}
	for(int i=n;i>=1;i--){
		if(a[i]!=0) break;
		else last--;
	}
	//cout<<fr<<" "<<last<<endl;
	for(int i=fr;i<=last;i++){
		if(a[i]<a[i+1]||a[i]<a[i-1]){
			int maxn,mini;
			if(a[i-1]!=a[i+1]){
				maxn=max(a[i-1],a[i+1]);
				mini=min(a[i-1],a[i+1]);
				//cout<<i<<" "<<maxn-max(mini,a[i])<<"\n";
				ans+=maxn-max(mini,a[i]);
			}
			else if(a[i-1]==a[i+1]){
				//cout<<i<<" "<<maxn-max(mini,a[i])<<"\n";
				ans+=a[i-1]-a[i];
			}
		}
	}
	cout<<ans;
	return 0;
}
2022/6/14 12:59
加载中...