啊啊啊 求大佬帮忙看看哪里错了
  • 板块学术版
  • 楼主lonely_dog
  • 当前回复7
  • 已保存回复7
  • 发布时间2022/8/17 13:37
  • 上次更新2023/10/27 14:59:31
查看原帖
啊啊啊 求大佬帮忙看看哪里错了
774537
lonely_dog楼主2022/8/17 13:37
#include<bits/stdc++.h>
using namespace std;
int a[1234567];
int main(){
    int b[5],bb[5];
    int n,max=0,maxid;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=2;i<n;i++)
    {
        if(a[i]==a[i-1])
        {
            b[1]=2;
            for(int j=i-2,k=i+1;a[j]==a[k];j--,k++)
            {
                b[1]+=2;
                bb[1]=j;
            }
        }
        if(a[i]==a[i+1])
        {
            b[2]=2;
            for(int j=i-1,k=i+2;a[j]==a[k];j--,k++)
            {
                b[2]+=2;
                bb[2]=j;
            }
        }
        if(a[i-1]==a[i+1])
        {
            b[3]=3;
            for(int j=i-2,k=i+2;a[j]==a[k];j--,k++)
            {
                b[3]+=2;
                bb[3]=j;
            }
        }
        for(int j=1;j<3;j++)
        {
            if(b[j]>=b[j+1])
            {
                swap(b[j],b[j+1]);
                swap(bb[j],bb[j+1]);
            }
        }
        if(b[3]>max)
        {
        	max=b[3];
        	maxid=bb[3];
        }
    }
    if(b[3]==0) {cout<<a[1];}
    else {
        for(int i=maxid;i<max+maxid;i++) 
        cout<<a[i]<<" ";
    }
    return 0;
}
2022/8/17 13:37
加载中...