Immediate Smaller Element Time Limit Exceeded
Things to improve


You are looping over the input twice; (1) when splitting the raw input string Console.ReadLine().Trim().Split(' ') (2) when going over the splitted items for (int i = 0; i &lt; arrSize - 1; i++). Try finding a way to go over the raw input in a single pass.
You are parsing most items twice, once as arr[i+1] and once as arr[i] in the next cycle. Try avoiding redundant parsing.
Writing to the console is time expensive. Console.Write("-1" + " "); Try to find a way to build the string and write the result to the console once.


I just tested a solution taking into account the above and I got Execution Time: 1.21. So it's definately possible to go &lt; 3.496