#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,N,i,j;
int sum=0;
scanf("%d %d",&n,&N);
int A[100000];
A[0]=0;
for(i=1;i<=n;i++)
scanf("%d",&A[i]);
for(i=0;i<N;i++)
{for(j=0;j<=n;j++)
{
if(A[j]>i)
{sum=sum+j-1;
break;}
else if(A[j]==i)
{sum=sum+j;
break;}
else if(j==n)
{sum=sum+n;
break;}
}
}
printf("%d",sum);
return 0;
}
超时,说明算法时间复杂度过高了,实现时冗余项太多了,考虑优化一下算法/换一种方法实现吧!
希望对题主有所帮助!可以的话,帮忙点个采纳!