正在学习HTML 2022-03-02 22:02 采纳率: 0%
浏览 86
已结题

双向排序,蓝桥杯真题,解答

求解答一下为什么运行超时,求指出不足的地方可以提高程序效率。

img

img


#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; 

}

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月21日
  • 创建了问题 3月2日