#include <bits/stdc++.h>
//#include <atcoder/modint>

using namespace std;
//using namespace atcoder;
using ll = long long;
//using mint = modint998244353;

int main(){
    cin.tie(nullptr);
    ios_base::sync_with_stdio(false);

    /*
       水色である区間[l, r]をスタックで管理。
       後ろのものほど区間として先に出てくる。
       水色の温泉に入ったとき、r<=Hであるものは削除。l<=H<rであるものがでてきたら[1, r]にする。H<lなら[1, H]を追加
       緑色の温泉に入ったとき、r<=Hであるものは削除。l<=H<r-1であるものがでてきたら[H+1, r]にする。H<lなら何もしない。
    */

    ll N, l, r, H, ans=0;
    cin >> N;
    vector<pair<ll, ll>> v;
    for (int i=0; i<N; i++){
        cin >> H;
        if (i % 2 == 0){
            while(!v.empty()){
                tie(l, r) = v.back();
                if (r<=H){
                    v.pop_back();
                    ans -= r-l+1;
                }
                else break;
            }
            if (!v.empty()){
                tie(l, r) = v.back();
                if (l<=H && H<r){
                    v.pop_back();
                    ans -= r-l+1;
                    v.push_back({1, r});
                    ans += r;
                }
                else{
                    v.push_back({1, H});
                    ans += H;
                }
            }
            else{
                v.push_back({1, H});
                ans += H;
            }
        }
        else{
            while(!v.empty()){
                tie(l, r) = v.back();
                if (r<=H){
                    v.pop_back();
                    ans -= r-l+1;
                }
                else break;
            }
            if (!v.empty()){
                tie(l, r) = v.back();
                if (l<=H && H<r-1){
                    v.pop_back();
                    ans -= r-l+1;
                    v.push_back({H+1, r});
                    ans += r-H;
                }
            }
        }
        cout << ans << endl;
    }

    return 0;
}