кто может объяснить часть кода (рекурсия) if (l==r) return l; int m=(l+r)/2; int m1=maxr(a,l,m); int m2=maxr(a,m+1,r); return (a[m1]>a[m2])?m1:m2; } это поиск максимального элемента в массиве путем деления пополам. но можно пошаговое объяснение? спасибо.