Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- typedef unsigned int uint;
- enum State {
- UNDEFINED = 0,
- DOWN = 1,
- UP = ~DOWN
- };
- int main() {
- uint n;
- int xPrev, xCurr;
- bool valid = true;
- int state = UNDEFINED;
- std::cin >> n;
- if(n > 0) {
- std::cin >> xCurr;
- n--;
- }
- while (n > 0 && state == UNDEFINED) {
- n--;
- xPrev = xCurr;
- std::cin >> xCurr;
- if (xPrev > xCurr) {
- state = DOWN;
- } else if (xPrev < xCurr) {
- state = UP;
- }
- }
- while(n > 0 && valid) {
- n--;
- xPrev = xCurr;
- std::cin >> xCurr;
- if(xPrev == xCurr) {
- continue;
- }
- switch(state) {
- case UP:
- valid = xPrev > xCurr;
- break;
- case DOWN:
- valid = xPrev < xCurr;
- break;
- }
- state = ~state;
- }
- std::cout << (valid ? "yes" : "no") << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement