按理来说下面这段代码是不可能死循环的?但是运行输入完就死了
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e5+8;
int n,a[MAXN];
stack<int> s;
int k=1,j=1;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
while(true){
if(j==n+1||k==n+1) break;
s.push(k++);
if(s.size()>0){
if(s.top()==a[j]){
s.pop(),j++;
}
if(s.top()>a[j]){
printf("Invalid\n");
return 0;
}
}
}
printf("Valid\n");
return 0;
}