UVa927
来源:互联网 发布:cms远程监控设置 编辑:程序博客网 时间:2024/06/14 05:36
#include <iostream>#include <fstream>#include <queue>#include <cmath>class Solution{public: void setN(int n) { this->n = n; } void setD(int d) { this->d = d; } void setK(int k) { this->k = k; } void setCoefficients(int i, int n) { coefficients[i] = n; } long long solve() { int v = 0; for (int i = 1;;i++) { long long value = 0; for (int j = 0; j <= n; j++) { value += coefficients[j] * pow(i, j); } v += i * d; if (v >= k) { return value; } } }private:private: static const int N = 21; int coefficients[N]; int d, k, n;};int main() {#ifndef ONLINE_JUDGE std::ifstream fin("f:\\oj\\uva_in.txt"); std::streambuf* old = std::cin.rdbuf(fin.rdbuf());#endif int t; Solution solver; std::cin >> t; for (int i = 1; i <= t; i++) { int n; std::cin >> n; solver.setN(n); for (int i = 0; i <= n; i++) { int a; std::cin >> a; solver.setCoefficients(i, a); } std::cin >> n; solver.setD(n); std::cin >> n; solver.setK(n); long long ans = solver.solve(); std::cout << ans << std::endl; }#ifndef ONLINE_JUDGE std::cin.rdbuf(old);#endif return 0;}