fork download
  1. #include <cstring>
  2. #include <cmath>
  3. #include <algorithm>
  4. #include <cstdlib>
  5. #include <cstdio>
  6. #include <iostream>
  7. #include <fstream>
  8. #include <queue>
  9.  
  10. #define rep(i, l, r) for(int i = l; i <= r; i++)
  11. #define down(i, l, r) for(int i = l; i >= r; i--)
  12. #define MS 123456
  13. #define MAX 1037471823
  14. #define Q 100
  15.  
  16. using namespace std;
  17.  
  18. int n, t, g[MS];
  19. double a, sum, f[MS], m[MS];
  20.  
  21. int main()
  22. {
  23. scanf("%d%lf", &n, &a);
  24. rep(i, 1, n) scanf("%lf", &m[i]);
  25. rep(i, 1, n) g[i] = int(a*i+1e-6);
  26. rep(i, 1, n)
  27. {
  28. t = min(i-1, Q);
  29. sum = f[i-t]/m[i-t]*(i-t-g[i-t]/2)/(i-g[i-t]/2);
  30. rep(j, g[i-t]+1, g[i]) sum += m[j]/(i-j);
  31. f[i] = sum * m[i];
  32. printf("%.6lf\n", f[i]);
  33. }
  34. return 0;
  35. }
Success #stdin #stdout 0s 5752KB
stdin
5 0.3
3
5
6
2
4
stdout
0.000000
0.000000
0.000000
2.000000
3.000000