调了很久,出了各种各样的错

#include<cstdio>
#include<algorithm>
using namespace std;
int a[1000000];
int main(){
	int n;
	int mx=0;
	scanf("%d",&n);
    int cnt=0;
    for (int i=1;i<=n;i++)
    	scanf("%d",&a[i]);
	for (int i=1;i<=n;i++)
	{
     mx=a[i];
    while ((mx=max(mx,a[i]))>i&&i<=n-1) {
	i++;
    }
    cnt++;
	}
	printf("%d",cnt);
	return 0;
}