不用帮我优化代码,帮我找找为什么编译失败了谢谢了
#include<bits/stdc++.h>
using namespace std;
int len[100000];
int sta[100010];
int end[100010];
int main(){
int n;
cin>>n;
int max=-10;
for(int i=1;i<=n;i++){
cin>>sta[i]>>end[i];
if(end[i]>max){
max=end[i];
}
}
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
if(sta[i]>sta[j]){
swap(sta[i],sta[j]);
swap(end[i],end[j]);
}
}
}
//检查排序结果
// for(int i=1;i<=n;i++){cout<<sta[i]<<" "<<end[i]<<endl;}
int pin=1;
for(int i=1;i<=n-1;i++){
if(sta[i]==sta[i+1]){
len[pin]++;
}
else if(sta[i]!=sta[i+1]){
len[pin]++;
pin++;
}
}
len[pin]++;
// for(int i=1;i<=pin;i++){
// cout<<len[i]<<" ";
// }
// pin 为开头的种类
cout<<endl;
int ans=0;
int pin1=1;
int pin2=1;
int front=0;
//front 存储前面走掉的空间
while(pin2<max){
int minend=1000000;
for(int i=front+1;i<=front+len[pin1];i++){
//找end最小的
if(minend>end[i]){
minend=end[i];
}
}
//检查考试顺序
// cout<<"从"<<sta[front+1]<<"到"<<minend<<endl;
pin2=minend;
while(sta[pin1]<minend){
pin1++;
front+=len[pin1];
}
ans++;
}
cout<<ans;
return 0;
}