#include #include using namespace std; int main() { int n; cin >> n; int b[200005]; for(int i = 0; i < n; i++) { cin >> b[i]; } int h[200005]; stack st; for(int i = 0; i < n; i++) { if(st.empty() && b[i] % 2 == 0) { h[i] = 0; continue; } if(st.size() && b[i] % 2 == b[st.top()] % 2) { h[i] = h[st.top()]; st.pop(); } else { h[i] = st.size(); st.push(i); } if(h[i] > b[i]) { cout << "No" << endl; return 0; } } if(h[n - 1] != 0) { cout << "No" << endl; return 0; } for(int i = 0; i < n - 1; i++) { if(b[i] > b[i + 1]) { cout << "No" << endl; return 0; } b[i + 1] -= b[i]; } if(b[n - 1]) { cout << "No" << endl; return 0; } cout << "Yes" << endl; }