60 RE 求解

回复帖子

@snow019 2020-01-14 22:01 回复
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
    int t,n,p=0,w,max=0,s=1;
    cin>>t;
    for(int i=1;i<=t;i++){
        cin>>n;
        int a[n+1],ans[n+1]={0},m[n+1]={0};
        for(int j=1;j<=n;j++) {
            cin>>a[j];
            ans[a[j]]++;
        }
        for(int j=1;j<=n;j++){
            if(max<ans[j]) max=ans[j];
        }
        for(int j=1;j<=n;j++){
            if(ans[j]==max) p++,m[p]=j,s=ans[j];
        }
        if(s*p==n){
            cout<<"-1"<<endl;
            p=0;
            s=1;
            max=0;
            continue;
        }
        cout<<p<<endl;
        for(int j=1;j<=p;j++){
            if(j==p) cout<<m[j]<<endl;
            else cout<<m[j]<<" ";
        }
        p=0;
        max=0;
        s=1;
    } 
    return 0;
}

// 3 6 9 10 13 19 20 错了

应该是没开够?

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。