#include int *pX = nullptr; int N = 0; int main ( void ) { int BufNums; scanf ( "%d" , &BufNums ); pX = new int [ BufNums ]; N = 0; int Current; bool bExistNumber; for ( int i = 0; i < BufNums; i++ ) { scanf ( "%d" , &Current); bExistNumber = false; /*for ( int j = 0; j < N; j++ ) { if ( Current == *( pX + j ) ) { bExistNumber = true; break; } }*/ if ( bExistNumber == false ) { *( pX + N ) = Current; N++; } } if ( N != 1 ) { int MinNum; int buf; for ( int i = 0; i < (N-1); i++ ) { MinNum = i; for ( int j = i+1; j < N; j++ ) { if ( *( pX + i ) > *( pX + j ) ) MinNum = j; } buf = *( pX + i ); *( pX + i ) = *( pX + MinNum ); *( pX + MinNum ) = buf; } int diff = 0 , diffbuf; diff = *( pX + 0 ) - *( pX + 1 ); if ( diff < 0 )diff *= -1; for ( int i = 1; i < N - 1; i++ ) { diffbuf = *( pX + i ) - *( pX + i + 1 ); if ( diffbuf < 0 )diffbuf *= -1; if ( ( diff == 0 ) || ( diff > diffbuf ) ) diff = diffbuf; } printf ( "%d\n" , diff ); } else { printf ( "0\n" ); } delete []pX; return 0; }