C言語出現回数


出現回数
Time Limit: 1000MS Memory limit: 65536K
タイトルの説明
整数シーケンスを指定すると、このシーケンスで最も多く発生した整数とその出現回数を決定することができます.
入力
複数組のテストデータを含み、各組のデータの第1の動作に1つの整数N(0しゅつりょく
テストデータのセットごとに、1行2つのスペースで区切られた整数A、Bが出力され、それぞれ出現回数が最も多いものと出現回数を表し、出現回数が最も多いものが複数ある場合、出力数値が最も小さいものが出力されます.
サンプル入力
4
1 2 3 3
5
1 2 3 4 5

サンプル出力
3 2
1 1





   
   
   
   
  1. #include<stdio.h>  
  2. int main()  
  3. {  
  4.     int n, i, j, max, c, x;  
  5.     long long a[1000];  
  6.     while(scanf("%d", &n)!=EOF)  
  7.     {  
  8.         max = -1;  
  9.         c = 0;  
  10.     for(i = 0; i < n; i++)  
  11.     {  
  12.         scanf("%d", &a[i]);  
  13.     }  
  14.     for(i = 0; i < n; i++)  
  15.     {  
  16.         x = 0;  
  17.         for(j = i + 1; j < n; j++)  
  18.         {  
  19.             if(a[i] == a[j])  
  20.                 x++;  
  21.         }  
  22.         if(max < x)  
  23.         {  
  24.             max = x;  
  25.             c = i;  
  26.         }  
  27.         else if(max == x)  
  28.         {  
  29.             if(a[c] > a[i])  
  30.             {  
  31.                 c = i;  
  32.             }  
  33.         }  
  34.         else max = max;  
  35.     }  
  36.     printf("%lld %d
    "
    , a[c], max+1);  
  37.     }  
  38.     return 0;  
  39. }