結果
問題 |
No.343 手抜き工事のプロ
|
ユーザー |
|
提出日時 | 2017-07-07 16:12:55 |
言語 | D (dmd 2.109.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 632 bytes |
コンパイル時間 | 980 ms |
コンパイル使用メモリ | 100,512 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-12 20:46:26 |
合計ジャッジ時間 | 2,233 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 25 WA * 2 |
ソースコード
import std.algorithm, std.conv, std.range, std.stdio, std.string; void main() { auto n = readln.chomp.to!size_t; auto l = readln.chomp.to!int * 2; auto x = (n-1).iota.map!(_ => readln.chomp.to!int * 2).array; x = 0 ~ x; foreach (i; 1..n) if (x[i] >= x[i-1] + l || x[i] + l <= x[i-1]) { writeln(-1); return; } auto sg = (x[$-1] * 2 + l) / 2, r = 0; foreach (i; 1..n.to!int) { auto xi0 = x[$-1-i], xi1 = x[$-i]; if (sg <= xi0 * i || sg >= (xi0 + l) * i || sg <= xi1 * i || sg >= (xi1 + l) * i) ++r; sg += (xi0 * 2 + l) / 2; } writeln(r); } /* xxoooooxxx oooooxxxxx xxxoooooxx */