結果
問題 | No.275 中央値を求めよ |
ユーザー |
![]() |
提出日時 | 2018-10-20 22:16:47 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 1,000 ms |
コード長 | 769 bytes |
コンパイル時間 | 154 ms |
コンパイル使用メモリ | 24,064 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-25 01:58:38 |
合計ジャッジ時間 | 1,265 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:9:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 9 | scanf("%d", &n); | ~~~~~^~~~~~~~~~ main.cpp:11:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 11 | scanf("%d", &input_num[i]); | ~~~~~^~~~~~~~~~~~~~~~~~~~~
ソースコード
#include <stdio.h>void QuickSort(int *, int, int);int main(void){int n, i, input_num[1000], idx;float median;scanf("%d", &n);for(i = 0; i < n; i++){scanf("%d", &input_num[i]);}QuickSort(input_num, 0, n - 1);idx = n / 2;median = (float)input_num[idx];if(n % 2 == 0 && n > 1){median += (float)input_num[idx - 1];median = median / 2.0;}printf("%0.1f\n", median);return 0;}void QuickSort(int *a, int first, int last){int i, j, x, t;x = a[(first + last) / 2];i = first; j = last;for( ; ; ){while(a[i] < x) i++;while(x < a[j]) j--;if(i >= j) break;t = a[i]; a[i] = a[j]; a[j] = t;i++; j--;}if(first < i - 1) QuickSort(a, first, i - 1);if(j + 1 < last) QuickSort(a, j + 1,last);}