/*
Input: n (int, số giờ học của LALA)
Output: YES nếu Lala giữ lời hứa với bố mẹ
NO ngược lại
Lời hứa:
1. Không được học Tin học (số 0) quá 3 tiếng
2. Sau khi học Tin học thì Lala phải dành ra ít nhất 1 tiếng học Tiếng Anh (số 1)
Gọi mảng a là mảng chứa các môn học của Lala trong n giờ
Điều kiện số 2:
Nhận xét: Nếu như Lala học Tin học cuối cùng -> không có cách nào để thỏa được điều kiện này
-> Kiểm tra giờ cuối cùng -> nếu giá trị = 0 -> NO
Điều kiện số 1:
Kiểm tra 4 tiếng liên tục a_i, a_{i + 1}, a_{i + 2}, a_{i + 3}, nếu cả 4 đều = 0
-> Lala đã học quá 3 tiếng Tin học liên tục -> NO
Nếu có ít nhất 1 tiếng = 1 -> kiểm tra tiếp i tiếp theo (i chạy từ 0 đến n - 4)
*/
#include <iostream>
#include <vector>
using namespace std;
void inp(vector<int> &a, int &n) {
cin >> n;
a.resize(n);
for(int &x:a)
cin >> x;
}
bool solve(vector<int> &a, int n) {
if(a[n - 1] == 0)
return 0;
for(int i = 0; i <= n - 4; i++) {
if(a[i] == 0 && a[i + 1] == 0 && a[i + 2] == 0 && a[i + 3] == 0)
return 0;
}
return 1;
}
int main() {
int n; vector<int> a;
inp(a, n);
if(solve(a, n)) cout << "YES\n";
else cout << "NO\n";
return 0;
}
LyoKSW5wdXQ6IG4gKGludCwgc+G7kSBnaeG7nSBo4buNYyBj4bunYSBMQUxBKQpPdXRwdXQ6IFlFUyBu4bq/dSBMYWxhIGdp4buvIGzhu51pIGjhu6lhIHbhu5tpIGLhu5EgbeG6uSAKCQkJCU5PICBuZ8aw4bujYyBs4bqhaSAKCkzhu51pIGjhu6lhOgoJMS4gS2jDtG5nIMSRxrDhu6NjIGjhu41jIFRpbiBo4buNYyAoc+G7kSAwKSBxdcOhIDMgdGnhur9uZyAKICAgMi4gU2F1IGtoaSBo4buNYyBUaW4gaOG7jWMgdGjDrCBMYWxhIHBo4bqjaSBkw6BuaCByYSDDrXQgbmjhuqV0IDEgdGnhur9uZyBo4buNYyBUaeG6v25nIEFuaCAoc+G7kSAxKQogICAKR+G7jWkgbeG6o25nIGEgbMOgIG3huqNuZyBjaOG7qWEgY8OhYyBtw7RuIGjhu41jIGPhu6dhIExhbGEgdHJvbmcgbiBnaeG7nSAgICAKICAgIArEkGnhu4F1IGtp4buHbiBz4buRIDI6IApOaOG6rW4geMOpdDogTuG6v3UgbmjGsCBMYWxhIGjhu41jIFRpbiBo4buNYyBjdeG7kWkgY8O5bmcgLT4ga2jDtG5nIGPDsyBjw6FjaCBuw6BvIMSR4buDIHRo4buPYSDEkcaw4bujYyDEkWnhu4F1IGtp4buHbiBuw6B5CgkJCQktPiBLaeG7g20gdHJhIGdp4budIGN14buRaSBjw7luZyAtPiBu4bq/dSBnacOhIHRy4buLID0gMCAtPiBOTyAKICAgICAgICAKxJBp4buBdSBraeG7h24gc+G7kSAxOiAKCUtp4buDbSB0cmEgNCB0aeG6v25nIGxpw6puIHThu6VjIGFfaSwgYV97aSArIDF9LCBhX3tpICsgMn0sIGFfe2kgKyAzfSwgbuG6v3UgY+G6oyA0IMSR4buBdSA9IDAKICAgIAkJLT4gTGFsYSDEkcOjIGjhu41jIHF1w6EgMyB0aeG6v25nIFRpbiBo4buNYyBsacOqbiB04bulYyAtPiBOTyAKICBO4bq/dSBjw7Mgw610IG5o4bqldCAxIHRp4bq/bmcgPSAxIC0+IGtp4buDbSB0cmEgdGnhur9wIGkgdGnhur9wIHRoZW8gKGkgY2jhuqF5IHThu6sgMCDEkeG6v24gbiAtIDQpCiovCgojaW5jbHVkZSA8aW9zdHJlYW0+IAojaW5jbHVkZSA8dmVjdG9yPiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgCgp2b2lkIGlucCh2ZWN0b3I8aW50PiAmYSwgaW50ICZuKSB7CiAgICBjaW4gPj4gbjsgCiAgICBhLnJlc2l6ZShuKTsKICAgIGZvcihpbnQgJng6YSkgCiAgICAgICAgY2luID4+IHg7Cn0KCmJvb2wgc29sdmUodmVjdG9yPGludD4gJmEsIGludCBuKSB7CiAgICBpZihhW24gLSAxXSA9PSAwKQogICAgICAgIHJldHVybiAwOyAKICAgIGZvcihpbnQgaSA9IDA7IGkgPD0gbiAtIDQ7IGkrKykgewogICAgICAgIGlmKGFbaV0gPT0gMCAmJiBhW2kgKyAxXSA9PSAwICYmIGFbaSArIDJdID09IDAgJiYgYVtpICsgM10gPT0gMCkKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICByZXR1cm4gMTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgbjsgdmVjdG9yPGludD4gYTsgCiAgICBpbnAoYSwgbik7CgogICAgaWYoc29sdmUoYSwgbikpIGNvdXQgPDwgIllFU1xuIjsKICAgIGVsc2UgY291dCA8PCAiTk9cbiI7CgogICAgcmV0dXJuIDA7Cn0K