能请大佬帮忙看一下哪里有问题吗?呜呜~~
查看原帖
能请大佬帮忙看一下哪里有问题吗?呜呜~~
818552
loe2022楼主2023/7/31 14:07
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 100010;
int a[N];

int main()
{
	int n;
	int cnt = 0;
	 
	while(cin >> n){
		cnt ++;
		for(int i = 0;i < n;i ++ ) scanf("%d", &a[i]);
		
		int stack[N];
		int tt = 0;
		
		int res = 0;
		for(int i = 0;i < n;i ++ ){
			if(a[i] > stack[tt]){        
				stack[++ tt] = a[i];
			}else{
				if(a[i] == 0){   
					res += tt;
					tt = 0;
				}else{
					while(stack[tt] > a[i]){
					    tt --;
					    res ++;
				    }
				    if(stack[tt] < a[i]) stack[++ tt] = a[i];
				}
			}
		}
		
		res += tt;
		printf("Case %d: %d\n",cnt,res);
	}

	return 0;
}

hdu上这份代码能过,但是洛谷上的数据比较强过不了,能请大佬帮忙看一下吗

2023/7/31 14:07
加载中...