2026/5/24 21:50:32
网站建设
项目流程
网站设计建设维护,河北建设工程招标网,做seo营销网站,广东建设信息网三类人题目背景 模板题#xff0c;无背景。 2019.12.12 更新数据#xff0c;放宽时限#xff0c;现在不再卡常了。 题目描述 给出项数为 n 的整数数列 a1…n。 定义函数 f(i) 代表数列中第 i 个元素之后第一个大于 ai 的元素的下标#xff0c;即 f(i)minij≤n,ajai…题目背景模板题无背景。2019.12.12 更新数据放宽时限现在不再卡常了。题目描述给出项数为 n 的整数数列 a1…n。定义函数 f(i) 代表数列中第 i 个元素之后第一个大于 ai 的元素的下标即 f(i)minij≤n,ajai{j}。若不存在则 f(i)0。试求出 f(1…n)。输入格式第一行一个正整数 n。第二行 n 个正整数 a1…n。输出格式一行 n 个整数表示 f(1),f(2),…,f(n) 的值。输入输出样例输入 #1复制5 1 4 2 3 5输出 #1复制2 5 4 5 0说明/提示【数据规模与约定】对于 30% 的数据n≤100对于 60% 的数据n≤5×103 对于 100% 的数据1≤n≤3×1061≤ai≤109。#includebits/stdc.h using namespace std; const int N3e610; int n; int a[N]; int ret[N]; void test() { stackint st; for(int in;i1;i--) { while(st.size()a[st.top()]a[i]) st.pop(); if(st.size()) ret[i]st.top(); st.push(i); } for(int i1;in;i) { coutret[i] ; } } int main() { cinn; for(int i1;in;i) { cina[i]; } test(); return 0; }