【传送门:BZOJ5204


简要题意:

  有n个选手,每个选手会选择一道题投票,求出投票最多的题目个数和这些题目的编号,如果所有题目的投票数相同,则输出-1


题解:

  直接搞

  离散化,然后判断就可以了


参考代码:

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
struct LSnode
{
int x,p,z;
}A[],B[];
int cmp(const void *x1,const void *x2)
{
LSnode n1=*(LSnode *)x1;
LSnode n2=*(LSnode *)x2;
return n1.x-n2.x;
}
int s[];
int id[];
int back[];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d",&A[i].x);
A[i].p=i;
}
for(int i=;i<=n;i++)
{
B[i].x=A[i].x;
B[i].p=A[i].p;
}
qsort(B+,n,sizeof(LSnode),cmp);
B[].z=;
for(int i=;i<=n;i++)
{
if(B[i].x==B[i-].x) B[i].z=B[i-].z;
else B[i].z=B[i-].z+;
}
int zz=;
for(int i=;i<=n;i++)
{
A[B[i].p].z=B[i].z;
zz=max(zz,B[i].z);
}
for(int i=;i<=n;i++) back[A[i].z]=A[i].x;
memset(s,,sizeof(s));
int mmax=;
for(int i=;i<=n;i++)
{
s[A[i].z]++;
mmax=max(mmax,s[A[i].z]);
}
int len=;
for(int i=;i<=zz;i++) if(s[i]==mmax) id[++len]=back[i];
if(len==zz) printf("-1\n");
else
{
printf("%d\n",len);
for(int i=;i<len;i++) printf("%d ",id[i]);
printf("%d\n",id[len]);
}
}
return ;
}

最新文章

  1. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
  2. Spring Boot入门实例
  3. CSS3盒模型display初探(display:box/display:flex)
  4. Giving Data Backup Option in Oracle Forms 6i
  5. Sublime Text 转
  6. Long和Date数据类型之间相互转换代码
  7. An endpoint configuration section for contract &quot;serviceReferenc.service&quot; could not be loaded
  8. leetcodequestion_56 Merge Intervals
  9. (转)C#中的委托,匿名方法和Lambda表达式
  10. JavaScript编程风格--基本的格式化
  11. 201521123080《Java程序设计》第9周学习总结
  12. 【HTTP协议】---HTTP协议详解
  13. 【linux学习笔记之一】linux系统目录结构以及常用系统命令
  14. luogu P5304 [GXOI/GZOI2019]旅行者
  15. 在vue.js 中使用animate.css库
  16. Innodb semi-consistent 简介
  17. JS 设置盒子div 跳转
  18. proxool连接sqlerver
  19. java 解压zip java.lang.IllegalArgumentException: MALFORMED 错误
  20. Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)

热门文章

  1. axios的坑
  2. K-D树学习笔记
  3. 在WIN7、WIN10操作系统用WebDAV映射网络驱动器需要的操作
  4. sort排序到底怎么排序
  5. 网页里如何使用js屏蔽鼠标右击事件
  6. Linux进程管理之状态(二)
  7. 【Henu ACM Round#24 E】Connected Components
  8. Linux入门基础二
  9. 【转】 C# DEBUG 调试信息打印及输出详解
  10. [iOS]iOS获取设备信息经常用法