結果
問題 | No.347 微分と積分 |
ユーザー |
![]() |
提出日時 | 2016-03-06 16:38:07 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,666 bytes |
コンパイル時間 | 1,396 ms |
コンパイル使用メモリ | 164,060 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-24 14:46:33 |
合計ジャッジ時間 | 2,262 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
#include "bits/stdc++.h"#ifndef err#define err(...)#define DebugWriteLine(...)#endifusing namespace std;void Calc();#define ALL(win) begin(win),end(win)#define RALL(win) (win).rbegin(),(win).rend()typedef int64_t ll;typedef uint64_t ull;int main() {cin.tie(0);ios::sync_with_stdio(false);cout << fixed << setprecision(15);cin.exceptions(istream::failbit | istream::badbit);Calc();cout.flush();return 0;}template<class T> struct Iter {T&operator++() { return ++i; }constexpr const T&operator*() const { return i; }constexpr bool operator!=(const Iter &o) const { return i != o.i; }T i;};struct Scanner {template<class A = string>static A Next() { A a; cin >> a; return a; }template<class A = int>static vector<A> Array(int n) { vector<A> a(n); for (A&i : a) cin >> i; return a; }static string Line() { string s; getline(cin, s); return s; }static int Int() { return Next<int>(); }template<class A>Scanner&operator,(A&a) { a = Next<A>(); return *this; }template<class A>operator A() { return Next<A>(); }}in;/*---------------------------------------------------------------------*/void Calc() {int n = in;int b = in;auto as = in.Array<string>(n);vector<double> a;a.reserve(n);for (auto& i : as) {a.push_back(atof(i.c_str()));}double fd = 0;for (int i = 0; i < n; i++) {fd += a[i] * pow(b, a[i] - 1);}cout << fd << endl;double F = 0;for (int i = 0; i < n; i++) {if (as[i] == "0.0") {F += b;} else if (as[i] == "-1.0") {F += log(b);} else {F += 1 / (a[i] + 1) * pow(b, a[i] + 1);}}cout << F << endl;}