0分,测试样例能过,求大佬解答
查看原帖
0分,测试样例能过,求大佬解答
1024296
YYPanda233楼主2023/10/28 14:07
#include <bits/stdc++.h>
using namespace std;
int a[10001];
bool find(int l, int r)
{
	for(int i = l ; i <= r ; i++)
	{
		if(a[i] != 0) return false;
	}
	return true;
}
int main()
{
	int n, ans = 0;
	cin >> n;
	int l = 0, r = n - 1;
	bool check, f;
	for(int i = 0 ; i < n ; i++)
	{
		cin >> a[i];
		if(a[i] == 0)
		{
			if(i < n / 2) l++;
			else r = i - 1;
		}
	}
	for(int i = 0 ; f == false ; i++)
	{
		for(int j = l ; j <= r ; j++)
		{
			a[j]--;
//			cout << ans << endl;
		}
		for(int j = l ; j <= r ; j++)
		{
			if(a[j] == 0)
			{
				if(j < n / 2) l++;
				else r = j - 1;
//				check = true;
			}
			check = find(l, r);
//			cout << l << " " << r << endl;
		}
		if(check)
		{
			for(int j = 0 ; j < n ; j++)
			{
				if(a[j] != 0)
				{
					l = j;
					f = false;
				}
				else r = j;
			}
		}
		ans++;
		f = find(l, r);
	}
	cout << ans + 1;
	return 0;
}

我把#1测试点的数据下载,答案输出一样,不知道为啥...

2023/10/28 14:07
加载中...