微積の式に突っ込んでいきます。
私は微積の式なんて忘れてしまっていたので、ぐぐりました。
というか、式で出せそうな奴はどんどんググらないとダメですね…。
ただし、微分の時は0.0の場合、整数となるので無視する。積分の時は、-1.0の場合、自然対数eとする対数を取る必要がある、という点が要注意でしょうか。残りについてはそのまま計算しても問題なしです。
以下はPython3での解答コードです。
#80662 No.347 微分と積分 - yukicoder
from math import log def solve(): n, b = int(input()), int(input()) data = input().split() res1, res2 = 0.0, 0.0 for d in data: if d == "0.0": continue f = float(d) f1 = f - 1 res1 += f * (b ** f1) print(res1) for d in data: if d == "-1.0": res2 += log(b) else: f = float(d) f1 = f + 1 res2 += (1 / f1) * (b ** (f + 1)) print(res2) if __name__=="__main__": solve()
32 / 300