結果
問題 |
No.2803 Bocching Star
|
ユーザー |
|
提出日時 | 2024-07-13 11:12:07 |
言語 | C (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 943 bytes |
コンパイル時間 | 1,750 ms |
コンパイル使用メモリ | 30,080 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-13 11:12:13 |
合計ジャッジ時間 | 4,314 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 35 |
ソースコード
#include <stdio.h> #include <stdlib.h> // 比較関数(qsort用) int cmp(const void *a, const void *b) { return (*(int *)a - *(int *)b); } int main(void){ int N, S; scanf("%d %d", &N, &S); int p[N]; for(int i = 0; i < N; i++){ scanf("%d", &p[i]); } // 配列pをソート qsort(p, N, sizeof(int), cmp); int r[N], cnt = 0; for(int i = 0; i < N; i++){ int isolated = 1; // 初期状態は孤立していると仮定 if (i > 0 && abs(p[i] - p[i - 1]) <= S) { isolated = 0; // 左側に距離S以内の要素がある場合 } if (i < N - 1 && abs(p[i] - p[i + 1]) <= S) { isolated = 0; // 右側に距離S以内の要素がある場合 } if (isolated) { r[cnt] = i; cnt++; } } for(int k = 0; k < cnt; k++){ printf("%d ", r[k]); } printf("\n"); return 0; }