poj 2601 Simple calculations

Simple calculations
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 5803   Accepted: 2947

Description

There is a sequence of n+2 elements a0, a1, ..., an+1 (n <= 3000, -1000 <= ai <=1000). It is known that ai = (ai-1 + ai+1)/2 - ci for each i=1, 2, ..., n.
You are given a0, an+1, c1, ... , cn. Write a program which calculates a1.

Input

The first line of an input contains an integer n. The next two lines consist of numbers a0 and an+1 each having two digits after decimal point, and the next n lines contain numbers ci (also with two digits after decimal point), one number per line.

Output

The output file should contain a1 in the same format as a0 and an+1.

Sample Input

1
50.50
25.50
10.15

Sample Output

27.85
#include <iostream>
using namespace std;
int main()
{
int n,i;
double a,b,temp;
double sum=0.0;
scanf("%d",&n);
scanf("%lf%lf",&a,&b);
for (i=0;i<n;i++)
{
scanf("%lf",&temp);
sum+=(n-i)*temp;
}
sum=-sum*2;
sum+=n*a+b;
sum/=n+1;
printf("%.2lf\n",sum);
return 0;
}

posted @ 2011-11-22 12:51  w0w0  阅读(173)  评论(0)    收藏  举报