#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上这份代码能过,但是洛谷上的数据比较强过不了,能请大佬帮忙看一下吗