func_code_string: #include <bits/stdc++.h>   using namespace std;   long long a[1000010];   pair<long long, long long> st[1000010];   bool check(pair<long long, long long> a, pair<long long, long long> b,              pair<long long, long long> c) {     double k1 = 1.0 * (b.second - a.second) / (b.first - a.first);     double k2 = 1.0 * (c.second - b.second) / (c.first - b.first);     if (k1 > k2) return 1;     return 0;   }   int main() {     int n;     scanf( %d , &n);     for (int i = 1; i <= n; i++) {       scanf( %d , &a[i]);       a[i] += a[i - 1];     }     int top = 0;     st[top++] = make_pair(0, 0);     for (int i = 1; i <= n; i++) {       pair<long long, long long> tmp = make_pair(i, a[i]);       while (top > 1 && check(st[top - 2], st[top - 1], tmp)) top--;       st[top++] = tmp;     }     for (int i = 0; i < top - 1; i++) {       long long l = st[i].first, r = st[i + 1].first,                 tot = st[i + 1].second - st[i].second;       for (int j = l + 1; j <= r; j++) {         printf( %.9f n , 1.0 * tot / (r - l));       }     }     return 0;   }   