Problem statement: http://www.spoj.com/problems/DOSA/
Why my code is getting a runtime error (SIGSEGV)
int main()
{
int arr1[1000],arr2[1000],i,n,count1=0,count2=0,flag=1;
scanf(" %d",&n);
for(i=0;i<n;i++){
scanf(" %d",&arr1[i]);
arr2[i]=arr1[i];
}
for(i=1;i<n;i++){
if(arr1[i]<=arr1[i-1]){
arr1[i]=arr1[i-1]+1;
count1++;
}
}
for(i=n-1;i>0;i--){
if(arr2[i]<=arr2[i-1]){
arr2[i-1]=arr2[i]-1;
count2++;
if(arr2[i-1]==0){
flag=0;
printf(" %d",count1);
break;
}
}
}
if(count1>count2 && flag){
printf("%d",count2);
}else if(flag){
printf("%d",count1);
}
return 0;
}