1 条题解

  • 1
    @ 2022-10-23 22:56:17
    #include <iostream>
    using namespace std;
    int n;
    int a[20000],up[20000],down[20000]; 
    int main(){
    	cin >> n;
    	int s = n;
    	for (int i = 0;i<n;i++) cin >> a[i];
    	for (int i = 1;i<n;i++){
    		if (a[i] > a[i-1]){
    			up[i] = up[i-1] + 1;
    		}
    	} 
    	for (int i = n-2;i>=0;i--){
    		if (a[i+1] < a[i]){
    			down[i] = down[i+1] + 1;
    		}
    	} 
    	for (int i = 0;i<=n;i++){
    		s+=max(down[i],up[i]);
    	}
    	cout << s << endl;
    	return 0;
    }
    

    信息

    ID
    1931
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    407
    已通过
    47
    上传者