#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
template < class S, class T> inline S chmax( S & a, T b) {
if ( a< b) {
a= b;
}
return a;
}
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
int numTimesAllBlue( vector< int > & A) {
int i;
int k = - 1 ;
int N = A.size ( ) ;
int res = 0 ;
for ( i= ( 0 ) ; i< ( N) ; i++ ) {
chmax( k, A[ i] - 1 ) ;
if ( k== i) {
res++ ;
}
}
return res;
}
}
;
// cLay varsion 20200325-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// int numTimesAllBlue(vector<int>& A) {
// int i, k = -1, N = A.size(), res = 0;
// rep(i,N){
// k >?= A[i] - 1;
// if(k==i) res++;
// }
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQ+IGlubGluZSBTIGNobWF4KFMgJmEsIFQgYil7CiAgaWYoYTxiKXsKICAgIGE9YjsKICB9CiAgcmV0dXJuIGE7Cn0KI2RlZmluZSBtYWluIGR1bW15X21haW4KaW50IG1haW4oKXsKICByZXR1cm4gMDsKfQojdW5kZWYgbWFpbgpjbGFzcyBTb2x1dGlvbnsKICBwdWJsaWM6CiAgaW50IG51bVRpbWVzQWxsQmx1ZSh2ZWN0b3I8aW50PiYgQSl7CiAgICBpbnQgaTsKICAgIGludCBrID0gLTE7CiAgICBpbnQgTiA9IEEuc2l6ZSgpOwogICAgaW50IHJlcyA9IDA7CiAgICBmb3IoaT0oMCk7aTwoTik7aSsrKXsKICAgICAgY2htYXgoaywgQVtpXSAtIDEpOwogICAgICBpZihrPT1pKXsKICAgICAgICByZXMrKzsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHJlczsKICB9Cn0KOwovLyBjTGF5IHZhcnNpb24gMjAyMDAzMjUtMQoKLy8gLS0tIG9yaWdpbmFsIGNvZGUgLS0tCi8vICNkZWZpbmUgbWFpbiBkdW1teV9tYWluCi8vIHt9Ci8vICN1bmRlZiBtYWluCi8vIAovLyBjbGFzcyBTb2x1dGlvbiB7Ci8vIHB1YmxpYzoKLy8gICBpbnQgbnVtVGltZXNBbGxCbHVlKHZlY3RvcjxpbnQ+JiBBKSB7Ci8vICAgICBpbnQgaSwgayA9IC0xLCBOID0gQS5zaXplKCksIHJlcyA9IDA7Ci8vICAgICByZXAoaSxOKXsKLy8gICAgICAgayA+Pz0gQVtpXSAtIDE7Ci8vICAgICAgIGlmKGs9PWkpIHJlcysrOwovLyAgICAgfQovLyAgICAgcmV0dXJuIHJlczsKLy8gICB9Ci8vIH07Cg==