【简单计算】 oj102

来源:互联网 发布:环信 服务端开发 java 编辑:程序博客网 时间:2024/06/05 16:21

【简单计算】

发布时间: 2017年5月25日 19:57   最后更新: 2017年5月26日 00:32   时间限制: 1000ms   内存限制: 128M

有一个n+2个元素a[0], a[1], ..., a[n+1] (n <= 3000, -1000 <= a[i] <=1000)构成的数列. 
已知对i=1, 2, ..., n有a[i] = (a[i-1] + a[i+1])/2 - c[i]. 

给定a0, a[n+1], c[1], ... , c[n]. 写一个程序计算a[1]. 

第一行是整数n. 接下来两行是a[0]和a[n+1], 其小数点后有两位数字. 其后的n行为c[i](同样是两位小数), 每行一个数.

输出为a[1], 格式与a[0], a[n+1]相同.

 复制
150.5025.5010.15
27.85
#include<cstdio>#include <iostream>using namespace std;int main(){int  n;double start, end, sum=0, ans;cin >> n >> start >> end;double tmp;for (int i = 1; i <= n; ++i){cin >> tmp;sum += 2.0*(n - i + 1)*tmp;}ans = n*start + end - sum;printf("%.2lf\n", ans / (n + 1));return 0;}