#7~10TLE,求大佬指教!

P5788 【模板】单调栈

@[SeaDchen](/user/1076957) 大佬在此,为你指教,AC代码如下: ```c #include<cstdio> #include<stack> using namespace std; int n,a[3000005],f[3000005]; stack<int>s; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=n;i>=1;i--) { while(!s.empty()&&a[s.top()]<=a[i]) s.pop(); f[i]=s.empty()?0:s.top(); s.push(i); } for(int i=1;i<=n;i++) printf("%d ",f[i]); return 0; } ``` ###### ------------ ###### 完 结 啦
by speantime @ 2023-09-03 17:10:50


@[speantime](/user/1058284) 明白大佬的思路了,不过大佬能不能帮我看看为什么我的代码超时了,过不了测试点,我想知道自己的错,然后改改代码,麻烦大佬了
by SeaDchen @ 2023-09-03 17:25:56


已调试成功了,谢谢```cpp // 加入个c的头文件 #include<cstido> // 将cin和cout替换成c输入和输出的方式,即可减少运行时间 ```
by SeaDchen @ 2023-09-03 18:06:13


超过1e6都用scanf和printf就可以ac
by yujiahaoa @ 2023-09-09 15:09:11


开o2即可(狗头
by 哈哈人生 @ 2023-10-01 12:32:03


@bj12z_zhaoqianhao开o2不一定吧,o2可以优化输入吗?
by yujiahaoa @ 2023-10-28 15:15:08


|