奇怪的RE
查看原帖
奇怪的RE
856008
Mirror_of_the_Sky楼主2024/3/10 17:21

是这样的,这份代码在本地运行可以过,但是在洛谷上就RE了:

#include <bits/stdc++.h>
using namespace std;
long long a;
stack <int> s;
long long sum;
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
    	cin>>a;
    	while(a>=s.top()&&(!s.empty())){
    		s.pop();
		}
		sum+=s.size();
		s.push(a);
	}
	cout<<sum; 
	return 0;
}

然后代码改个地方,洛谷上就AC了,具体如下:

#include <bits/stdc++.h>
using namespace std;
long long a;
stack <int> s;

long long sum;
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
    	cin>>a;
    	while((!s.empty())&&a>=s.top()){//这儿
    		s.pop();
		}
		sum+=s.size();
		s.push(a);
	}
	cout<<sum; 
	return 0;
}

本人太蒟蒻了,不知道为什么。有哪位大佬你能帮我看一下吗?

2024/3/10 17:21
加载中...