1 条题解

  • 0
    @ 2026-4-21 13:11:36
    #include<bits/stdc++.h>
    using namespace std;
    const int N=2e4+10;
    int a[N],b[N],s1[N],s2[N];
    signed main()
    {
    	int n;cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    		b[a[i]]=i;
    	}
    	s1[1]=s2[1]=5e8;
    	for(int i=2;i<=n;i++)
    	{
    		if(b[i]>b[i-1])
    		{
    			s2[i]=s2[i-1]-1;
    			s1[i]=s1[i-1]+b[i]-b[i-1]+1;
    		}
    		else
    		{
    			s1[i]=s1[i-1]+1;
    			s2[i]=s2[i-1]+b[i]-b[i-1]-1;
    		}
    	}
    	for(int i=1;i<=n;i++)cout<<s1[i]<<' ';cout<<'\n';
    	for(int i=1;i<=n;i++)cout<<s2[i]<<' ';cout<<'\n';
    }
    • 1

    信息

    ID
    8765
    时间
    2000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    5
    已通过
    3
    上传者