《还好不是文化课》《急》
  • 板块灌水区
  • 楼主Customs_KILLA
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/5/17 18:34
  • 上次更新2023/10/28 01:14:32
查看原帖
《还好不是文化课》《急》
702909
Customs_KILLA楼主2022/5/17 18:34
#include<bits/stdc++.h>
using namespace std;
int a[32768]={};
struct  dp
{
    int ax;
    int number;  
};
dp c[32768];
bool cmp(dp n,dp m)
{
    return n.ax<m.ax;
}
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>c[i].ax;
        a[i]=c[i].ax;
        c[i].number=i;
    }
    int maxn=c[1].ax;
    sort(c+1,c+n+1,cmp);
    for(int i=1;i<=n;i++)
    {
        int m1,m2;
        int o,e,x,y;
        if(c[i].number==2)
        {
            maxn+=sqrt((c[i].ax-a[1])*(c[i].ax-a[1]));
            continue;
        }
        if(c[i].number==1)
        continue;
        for(int j=i;j>=1;j--)
        {
            if(c[i].number>c[j].number)
            {
                m1=abs(c[i].ax-c[j].ax);
                o=c[i].ax;
                e=c[j].ax;
                break;
            }
        }
        for(int j=i;j<=n;j++)
        {
            if(c[i].number>c[j].number)
            {
               m2=abs(c[i].ax-c[j].ax);
               x=c[i].ax;
               y=c[j].ax;
               break;
            }
        }
        if(m1<=m2)
        {
            maxn+=m1;
        }
        else
        {
            maxn+=m2;
        }
    }
   cout<<maxn;
   return 0;
}

结果对了过程不对,,,,


https://www.luogu.com.cn/record/75249241

2022/5/17 18:34
加载中...