Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
35539 郭澍宇 【J】T3 C++ 运行超时 95 1062 MS 1036 KB 1440 2024-12-11 20:47:42

Tests(19/20):


#include<bits/stdc++.h> using namespace std; int n,a[200005]; int k[200005]; int clca[200005]; int ansl,ansr; int ca; int cnt; int main(){ int t; cin>>t; while(t--){ cin>>n; int maxn=0; for(int i = 1;i<=n;i++){ scanf("%d",&a[i]); maxn=max(a[i],maxn); } int l=1,r=n; bool flag =1; while(l<=r){ if(a[l]==a[r]) { l++,r--; } else{ flag =0; ansl=a[l],ansr=a[r]; break; } } if(flag){ for(int i = 1;i<=maxn;i++)k[i]=0; int cnt =0; for(int i = 1;i<=n;i++){ if(k[a[i]]==0){ cnt++; clca[cnt]=a[i]; } k[a[i]]++; } sort(clca+1,clca+cnt+1); cout<<cnt<<endl; for(int i = 1;i<=cnt;i++){ printf("%d ",clca[i]); } cout<<endl; continue; } ca=2; l=1,r=n; bool fl=1,fr=1; while(l<=r){ if(a[l]==a[r]) { l++,r--; } else{ while(a[l]==ansl){ l++; } while(a[r]==ansl) {r--; } if(a[l]!=a[r]){ fl=0; ca--; break; } } } l=1,r=n; while(l<=r){ if(a[l]==a[r]) { l++,r--; } else{ while(a[l]==ansr){ l++; } while(a[r]==ansr) {r--; } if(a[l]!=a[r]){ fr=0; ca--; break; } } } cout<<ca<<endl; if(ansl>ansr){ swap(ansl,ansr); swap(fl,fr); } if(fl)cout<<ansl<<" "; if(fr)cout<<ansr<<" "; cout<<endl; } }


测评信息: