結果
| 問題 | No.693 square1001 and Permutation 2 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2018-06-24 00:58:16 | 
| 言語 | C (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 1 ms / 2,000 ms | 
| コード長 | 329 bytes | 
| コンパイル時間 | 143 ms | 
| コンパイル使用メモリ | 31,872 KB | 
| 実行使用メモリ | 6,948 KB | 
| 最終ジャッジ日時 | 2024-06-30 18:34:46 | 
| 合計ジャッジ時間 | 650 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 9 | 
コンパイルメッセージ
main.c: In function 'main':
main.c:14:24: warning: passing argument 4 of 'qsort' from incompatible pointer type [-Wincompatible-pointer-types]
   14 |         qsort(a, n, 4, q);
      |                        ^
      |                        |
      |                        int (*)(const int *, const int *)
In file included from main.c:2:
/usr/include/stdlib.h:839:34: note: expected '__compar_fn_t' {aka 'int (*)(const void *, const void *)'} but argument is of type 'int (*)(const int *, const int *)'
  839 |                    __compar_fn_t __compar) __nonnull ((1, 4));
      |                    ~~~~~~~~~~~~~~^~~~~~~~
            
            ソースコード
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int q(const int *a, const int *b) {
	return *a - *b;
}
int main(void)
{
	int n, a[50], i, s = 0;
	scanf("%d", &n);
	for (i = 0; i < n; i++) scanf("%d", &a[i]);
	qsort(a, n, 4, q);
	for (i = 0; i < n; i++) s += (int)fabs(i - a[i] + 1);
	printf("%d", s);
}
            
            
            
        