I am currently writing a script about finding the nearest duplicate from a user entered size array. The array must be between 1 and 10^5 and its value has to be between 1 and 10^5 also. It compiles normally on my computer but whenever I submit it, it returns a run_error.
Here's what I wrote.
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void input (int *);
int main(){
    int n;
    input (&n);
    int a[n];
    for(int i=0;i<n;i++){
        if (scanf("%d",&a[i])!=1) 
            return 0;
        if ((a[i]>100000)||(a[i]<1))
            return 0;
        }
    for (int i=0;i<n;i++){
        if (a[abs(a[i])]>=0){
            a[abs(a[i])]=-a[abs(a[i])];
        } else {
            printf("%d",abs(a[i]));
            return 0;
        }
    } 
    return 0; 
}
void input(int *x){
    if (scanf("%d",x)!=1)
        exit(0);
    if ((*x>100000)||(*x<1))
        exit(0);
}
 
     
     
    