比赛 20251019新安模拟赛1 评测结果 WAWWAAAAAA
题目名称 铺设道路 最终得分 70
用户昵称 亚丽涅 运行时间 1.476 s
代码语言 C++ 内存使用 3.75 MiB
提交时间 2025-10-19 10:50:21
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int a[100001];
int m,ans,s=1,h = 0x3f;
int main()
{
	freopen("2018road.in","r",stdin);
	freopen("2018road.out","w",stdout);
	cin>>m;
	for(int i =1 ; i<= m;i++)
	{
		cin>>a[i];
	}
	int n=0x3f;
	for(int i =1 ; i <= m;i++)
	{
		if(n>=a[i]) n = a[i];
	}
	ans = n;
	int t=1;
	while(s != m && a[m] != n)
	{   
		if(a[t] == n) 
		{
		  t++;
		  s=t;
		}
		else
		{
			while(a[t]!=n && a[t] != 0)
			{   
			    if(t <= m) t++;
			    else t = m+1;
			}
		    for(int i = s; i <= t-1; i++)
		    {
		    	a[i] = a[i] -1;
			}
		    t = s;
		    ans ++;
		}
	}
	ans = a[m] - n + ans;
	cout<<ans<<endl;
	return 0;
}