#include<stdio.h>
#include<stdlib.h>
int main(void) {
 int x, i;
 int *a;
 scanf("%d", &x);
 if (x <= 2 && x >= 1000){
  return 0;
 }
 else{
  a = (int*)malloc(sizeof(int)*x);
  for (i = 0; i < x; i++){
   scanf("%d", &a[i]);
  }
 }
 int max,max2,max3;
 max=max2=max3=a[0];
for( i=0;i<x;i++) // n is the no of elements in the array {
if(a[i]>max)
{
max3=max2;
max2=max;
max=a[i];
}
else if (a[i]>max2)
{
max3=max2;
max2=a[i];
}
else if(a[i]>max3)
{
max3=a[i];
}
  int count=0;
  for(i=0;i<x;i++){
   if(max3==a[i])
    count++;
  }
 printf("%d %d %d %d",max,max2,max3,count);
 free(a);
 return 0;
}

 

 

3번째 큰수를 구하는 함수인데

계속 제일 큰수만 출력댐 ㅜㅜ