202112-1序列查询c 为什么我这个代码只有50分 他说超时

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

}

img

超时,说明算法时间复杂度过高了,实现时冗余项太多了,考虑优化一下算法/换一种方法实现吧!

希望对题主有所帮助!可以的话,帮忙点个采纳!