fork download
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int t;
  5. scanf("%d",&t);
  6. while(t--)
  7. {
  8. int n,i,j,l;
  9. scanf("%d",&n);
  10. int a[n];
  11. for(i=0;i<n;i++)
  12. scanf("%d",&a[i]);
  13. int f;
  14. int b[100],c[100];
  15. int k=0;
  16. for(i=1;i<=100;i++)
  17. {
  18. f=0;
  19. for(j=0;j<n;j++)
  20. {
  21. if(a[j]==i)
  22. f++;
  23.  
  24. }
  25. c[k]= f;
  26. if(f!=0 && f%i==0)
  27. {
  28. b[k]= i;
  29. }
  30. else
  31. b[k]= 0;
  32. k++;
  33. }
  34. int p=0;
  35. for(l=0;l<100;l++)
  36. {
  37. if(b[l]>0)
  38. {
  39. p++;
  40. break;
  41. }
  42. }
  43. if(p==0)
  44. printf("-1\n");
  45. else
  46. {
  47. int max=0;
  48. for(l=0;l<100;l++)
  49. {
  50. if(c[l]== 0)
  51. continue;
  52. else if(c[l]>max)
  53. max = c[l];
  54. }
  55. int min=101;
  56. for(l=0;l<100;l++)
  57. {
  58.  
  59. if(b[l]== 0)
  60. continue;
  61. if(max==c[l] && max%b[l]==0)
  62. {
  63. if(b[l]<min)
  64. min= b[l];
  65. }
  66. }
  67. if(min ==101)
  68. min= -1;
  69. printf("%d\n",min);
  70. }
  71. }
  72. return 0;
  73. }
  74.  
Success #stdin #stdout 0s 2248KB
stdin
Standard input is empty
stdout
Standard output is empty