#include <stdio.h>
int solution(int A[], int N) {
int i = 0;
int ascStart = A[0];
int ascMaxSlice = 0;
int ascSliceCnt = 1;
int ascMaxSliceIdx = 0;
for( i = 0; i < N; i++ )
{
if( ascStart < A[i] )
{
ascSliceCnt++;
}
else
{
if( ascSliceCnt > ascMaxSlice )
{
ascMaxSlice = ascSliceCnt;
ascStart = A[i];
ascMaxSliceIdx = i - ascSliceCnt;
ascSliceCnt = 1;
printf("i: %d, ascSliceCnt: %d, ascMaxSlice: %d, ascStart: %d, ascMaxSliceIdx: %d\n", i, ascSliceCnt, ascMaxSlice, ascStart, ascMaxSliceIdx);
}
}
}
return ascMaxSliceIdx;
}
int main(void)
{
int A[10] = {2, 2, 2, 2, 1, 2, -1, 2 ,1, 3};
int N = 10;
printf("solution: %d", solution
(A
, N
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgc29sdXRpb24oaW50IEFbXSwgaW50IE4pIHsKCWludCBpID0gMDsKCQoJaW50IGFzY1N0YXJ0ID0gQVswXTsKCWludCBhc2NNYXhTbGljZSA9IDA7CglpbnQgYXNjU2xpY2VDbnQgPSAxOwoJaW50IGFzY01heFNsaWNlSWR4ID0gMDsKCXByaW50ZigiTjogJWRcbiIsIE4pOwoJZm9yKCBpID0gMDsgaSA8IE47IGkrKyApCgl7CgkJaWYoIGFzY1N0YXJ0IDwgQVtpXSApCgkJewoJCQlhc2NTbGljZUNudCsrOwoJCX0KCQllbHNlCgkJewoJCQlpZiggYXNjU2xpY2VDbnQgPiBhc2NNYXhTbGljZSApCgkJCXsKCQkJCWFzY01heFNsaWNlID0gYXNjU2xpY2VDbnQ7CgkJCQlhc2NTdGFydCA9IEFbaV07CgkJCQlhc2NNYXhTbGljZUlkeCA9IGkgLSBhc2NTbGljZUNudDsKCQkJCWFzY1NsaWNlQ250ID0gMTsKCQkJCQoJCQkJcHJpbnRmKCJpOiAlZCwgYXNjU2xpY2VDbnQ6ICVkLCBhc2NNYXhTbGljZTogJWQsIGFzY1N0YXJ0OiAlZCwgYXNjTWF4U2xpY2VJZHg6ICVkXG4iLAoJCQkJaSwgYXNjU2xpY2VDbnQsIGFzY01heFNsaWNlLCBhc2NTdGFydCwgYXNjTWF4U2xpY2VJZHgpOwoKCQkJfQoJCX0KCX0KCQoJcmV0dXJuIGFzY01heFNsaWNlSWR4Owp9CgppbnQgbWFpbih2b2lkKQp7CglpbnQgQVsxMF0gPSB7MiwgMiwgMiwgMiwgMSwgMiwgLTEsIDIgLDEsIDN9OwoJaW50IE4gPSAxMDsKCQoJcHJpbnRmKCJzb2x1dGlvbjogJWQiLCBzb2x1dGlvbihBLCBOKSk7CglyZXR1cm4gMDsKfQo=