結果
問題 | No.343 手抜き工事のプロ |
ユーザー |
![]() |
提出日時 | 2016-03-16 17:49:43 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 288 ms / 2,000 ms |
コード長 | 785 bytes |
コンパイル時間 | 57 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 15,232 KB |
最終ジャッジ日時 | 2024-10-01 20:14:27 |
合計ジャッジ時間 | 2,323 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
ソースコード
# -*- coding: utf-8 -*- import sys import math n = int(sys.stdin.readline()) l = int(sys.stdin.readline()) hl = float(l) / 2 args = sys.stdin.readlines() cntr = 0 def grav_sum(i, n, prev_sum, xi): return float((n-i-1)*prev_sum + xi)/(n-i) if n == 1: pass else: xi = float(args[-1]) gsum = xi for i in reversed(range(len(args))): if i == 0: xii = xi xi = 0 else: xii = xi xi = int(args[i-1]) if math.fabs(xi - xii) > l - 1: cntr = -1 break elif round(math.fabs(gsum - xi),10) < hl and round(math.fabs(gsum - xii),10) < hl: gsum = grav_sum(i, n, gsum, xi) else: gsum = grav_sum(i, n, gsum, xi) cntr += 1 print cntr