求教,用stl,linux和windows本地都正常运行,洛谷re
  • 板块学术版
  • 楼主卍xxoy卐
  • 当前回复6
  • 已保存回复6
  • 发布时间2020/11/3 21:37
  • 上次更新2023/11/5 09:05:16
查看原帖
求教,用stl,linux和windows本地都正常运行,洛谷re
31184
卍xxoy卐楼主2020/11/3 21:37
#include<bits/stdc++.h>
using namespace std;
#define maxn 3234567
int n,m,k;
struct pp
{
	int i,w;
};
inline int readi()
{	char x;	int a=0;	bool w=0;	x=getchar();
	while(x<'0'||x>'9')
	{	if(x=='-') w=1;	x=getchar();		}
		while(x>='0'&&x<='9')
	{	a=a*10+x-'0';		x=getchar();	}
	return w?-a:a;	}
stack<pp> q;
int a[maxn],f[maxn];
int main()
{
	cin>>n;
for(int i=1;i<=n;i++)
{
	a[i]=readi();
}
pp xc;
for(int i=n;i>=1;i--)
{
	if(q.empty()) 
	{
		xc.i=i;
		xc.w=a[i];
		q.push(xc);
	continue;
	}
	while((!q.empty())&&q.top().w<a[i]) q.pop();
	f[i]=q.top().i;
	   xc.i=i;
		xc.w=a[i];
		q.push(xc);
	
	
}
	for(int i=1;i<=n;i++)
	cout<<f[i]<<" ";
	return 0;
}

但是洛谷机子是re

记录

2020/11/3 21:37
加载中...