結果
問題 |
No.1170 Never Want to Walk
|
ユーザー |
|
提出日時 | 2023-07-26 10:32:58 |
言語 | C# (.NET 8.0.404) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,162 bytes |
コンパイル時間 | 7,580 ms |
コンパイル使用メモリ | 169,768 KB |
実行使用メモリ | 422,544 KB |
最終ジャッジ日時 | 2024-10-02 22:41:51 |
合計ジャッジ時間 | 13,750 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 4 WA * 8 TLE * 1 -- * 24 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (93 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
using System; using System.Collections.Generic; using System.Linq; namespace yukicoder { public class Program { public static void Main() { var line = Console.ReadLine().Split(' '); var n = int.Parse(line[0]); var a = int.Parse(line[1]); var b = int.Parse(line[2]); line = Console.ReadLine().Split(' '); int i, j; var x = new int[n]; var c = new int[n]; var sum = new int[n]; for (i = 0; i < n; i++) { x[i] = int.Parse(line[i]); c[i] = -1; } for (i = 0; i < n; i++) { if (c[i] == -1) { var q = new Queue<int>(); q.Enqueue(i); while (q.Count > 0) { var m = q.Dequeue(); c[m] = i; sum[i]++; for (j = 1; m + j < n && Math.Abs(x[m + j] - x[m]) <= b; j++) { if (Math.Abs(x[m + j] - x[m]) >= a && c[m + j] == -1) { q.Enqueue(m + j); } } for (j = 1; m - j > 0 && Math.Abs(x[m - j] - x[m]) <= b; j++) { if (Math.Abs(x[m - j] - x[m]) >= a && c[m - j] == -1) { q.Enqueue(m - j); } } } } } foreach (var z in c) { Console.WriteLine(sum[z]); } } } }