FZU 2135 && FOJ11月赛E题

来源:互联网 发布:机锋刹那版主淘宝店 编辑:程序博客网 时间:2024/04/30 00:12

借个代码:

#include<stdio.h>#include<algorithm>#include<iostream>#include<math.h>using namespace std;const int maxn=100100;const int inf=1000000000;struct node{       int l,r;}pp[maxn];int a[maxn],ans[maxn];int main(){       int T,n,i,j,k,m;       scanf("%d",&T);       while(T--)       {              scanf("%d",&n);              for(i=1;i<=n;i++)scanf("%d",&a[i]);              for(i=1;i<=n;i++)              {                     for(j=i-1;j>=1;j--)if(a[j]>a[i])break;                     pp[i].l=j+1;                     for(j=i+1;j<=n;j++)if(a[j]>a[i])break;                     pp[i].r=j-1;                     ans[i]=inf;              }              for(i=1;i<=n;i++)              {                    m=pp[i].r-pp[i].l+1;                    for(j=1;j<=m;j++)                           if(ans[j]>a[i])ans[j]=a[i];              }              for(i=1;i<=n;i++)printf("%d\n",ans[i]);       }       return 0;}


 

原创粉丝点击