列车调度:超时不知怎么解决

#include<stdio.h>
int main()
{
int n,m;int i,j;int t=0;int num1[100000],num2;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&num1[i]);if(i==0)num2=num1[i];else{if(num1[i]<num2)num2=num1[i];else{t+=1;num2=num1[i];}}}printf("%d",t+1);}

这个怎么看上去是计算堆栈的题目