[求助]80分,#5 #9未通过,求大佬帮助。
查看原帖
[求助]80分,#5 #9未通过,求大佬帮助。
597249
qq2653351173楼主2022/2/18 20:53

自己测试的数据还有案例都能通过,就是不知道哪里出错了,希望大佬帮助


#include<bits/stdc++.h>
using namespace std;
//P1317 低洼地
int main(){
	int n, arr[10010], temp, count = 0;
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> arr[i];
	}
	for (int i = 1; i < n-1; i++) {
		if (arr[i - 1] > arr[i] && arr[i + 1] > arr[i]) {//标准情况
			count++;
		}
		if (arr[i] == arr[i + 1]) {
			temp = arr[i];
			int a = i, b = i;
			while (arr[a] == temp || arr[b] == temp) {//遇到相等的分别读取左右两遍的数判断是否存在低洼
				if (arr[a] == temp) {
					if (a == 0) {//减到0不再往下减
						break;
					}
					a--;
				}
				if (arr[b] == temp) {
					if (b == n) {//加到n不再继续加
						break;
					}
					b++;

				}
				if (arr[a] > temp && arr[b] > temp) {
					count++;
					break;
				}
			}	
			
		}
	}
	cout << count << endl;
	return 0;
}

跪求大佬帮助呀~

2022/2/18 20:53
加载中...