読者です 読者をやめる 読者になる 読者になる

AOJ 1008 What Color Is The Universe

問題

|A|と配列Aが与えられる。N[i]はAに含まれるiの数。

 N[i] > |A| / 2

を満たす。iを探す。

解法

実装するだけ

コード

int A, N[1000001];

int main(){
  int a, i;
  while(scanf("%d", &a) && a){
    memset(N, 0, sizeof(N));
    rep(i, a){
      scanf("%d", &A);
      N[A]++;
    }
    i = 0;
    rep(i, 1000001) if(N[i] > a/2) printf("%d\n", i);
    if(i > 1000000) puts("NO COLOR");
  }
  return 0;
}

これで通るかな。map使うと速くなるんだね。1/50ぐらいになるっぽい