結果

問題 No.182 新規性の虜
コンテスト
ユーザー Shiro_S
提出日時 2020-03-30 23:10:17
言語 C11(gcc12 gnu拡張)
(gcc 12.4.0)
コンパイル:
gcc-12 -O2 -std=gnu11 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 19 ms / 5,000 ms
コード長 644 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 145 ms
コンパイル使用メモリ 32,552 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2026-03-08 16:21:44
合計ジャッジ時間 1,137 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:19:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
   19 | main(){
      | ^~~~
main.c: In function ‘main’:
main.c:25:22: warning: passing argument 4 of ‘qsort’ from incompatible pointer type [-Wincompatible-pointer-types]
   25 |     qsort(a+1, n, 4, cmp);
      |                      ^~~
      |                      |
      |                      int (*)(const int *, const int *)
In file included from main.c:2:
/usr/include/stdlib.h:971:34: note: expected ‘__compar_fn_t’ {aka ‘int (*)(const void *, const void *)’} but argument is of type ‘int (*)(const int *, const int *)’
  971 |                    __compar_fn_t __compar) __nonnull ((1, 4));
      |                    ~~~~~~~~~~~~~~^~~~~~~~
main.c:20:5: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   20 |     scanf("%d", &n);
      |     ^~~~~~~~~~~~~~~
main.c:22:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   22 |         scanf("%d", &a[i]);
      |         ^~~~~~~~~~~~~~~~~~

ソースコード

diff #
raw source code

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdint.h>
#include<stdbool.h>
#include<tgmath.h>
#include<time.h>
#define ll long long
#define min(a,b) ((a)>(b)?(b):(a))
#define max(a,b) ((a)>(b)?(a):(b))
#define miin(a,b,c) min((a), min((b), (c)))
#define maax(a,b,c) max((a), max((b), (c)))
int n, a[111111] = {};

int cmp(const int *a, const int *b){
    return *a - *b;
}

main(){
    scanf("%d", &n);
    for(int i=1; i<=n; i++){
        scanf("%d", &a[i]);
    }
    int m=n;
    qsort(a+1, n, 4, cmp);
    for(int i=1; i<=n; i++){
        m -= (a[i-1]==a[i] || a[i]==a[i+1]);
    }
    printf("%d\n", m);
    return 0;
}
0