为什么又TLE了
查看原帖
为什么又TLE了
510360
HbugU楼主2021/8/18 06:59
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define fr first
#define se second
#define FAST ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
using namespace std;
int n,a[100005];
stack<int> s;
int main(){
    FAST;
    int v;
    for(int v=1;cin>>n;v++){
    	int len=0,ans=0;
        for(int i=1;i<=n;i++){
            cin>>a[i];
            while(!s.empty()&&a[i]<s.top()){
                ans++;
            }
            while(!s.empty()&&a[i]==s.top()){
            	s.pop();
            	len--;
			}
            if(a[i]!=0){
            	len++;
            	s.push(a[i]);
			}
        }
        ans+=len;
        printf("Case %d: %d\n",v,ans);
	}
    return 0;
}
2021/8/18 06:59
加载中...