求解答一下为什么运行超时,求指出不足的地方可以提高程序效率。
#include<stdio.h>
#include
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
bool cmp2(int a,int b)
{
return a<b;
}
int main()
{
int m;
long long n;
scanf("%lld%d",&n,&m);
long long a[n],b[n];
for(int i=0;i<n;i++)
a[i]=i+1;
for(int i=1;i<=m;i++)
{
int p,q,k,j;
scanf("%d%d",&p,&q);
if(p)
{
for(k=0,j=q-1;j<n;j++,k++)
b[k]=a[j];
sort(b,b+k,cmp2);
for(int i=0,j=q-1;j<n;j++,i++)
{
a[j]=b[i];
}
}
else
{
for(int j=0;j<q;j++)
b[j]=a[j];
sort(b,b+q,cmp);
for(int j=0;j<q;j++)
a[j]=b[j];
}
}
for(int i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}