fork(4) download
  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. int arr[5][5];
  5.  
  6. int func(int row)
  7. {
  8. int hi=4;
  9. int lo=0;
  10. int mid=(lo+hi)/2;
  11. while(hi>=lo)
  12. {
  13. mid=(lo+hi)/2;
  14. if(mid==4)
  15. return 5;
  16. if(arr[row][mid]<0 && arr[row][mid+1]<0)
  17. lo=mid+1;
  18. else if(arr[row][mid]>0 && arr[row][mid+1]>0)
  19. hi=mid-1;
  20. else if(arr[row][mid]<0 && arr[row][mid+1]>0)
  21. return mid+1;
  22. }
  23.  
  24. }
  25.  
  26. int main()
  27. {
  28. int ri,ci,sum;
  29. ri=0; //rowindex
  30. ci=0; //columnindex
  31. sum=0;
  32. for(int i=0;i<5;i++)
  33. {
  34. for(int j=0;j<5;j++)
  35. {
  36. cin>>arr[i][j];
  37. }
  38. }
  39. while(ri<5)
  40. {
  41. if(arr[ri][ci]>=0)
  42. ri++;
  43. else if(arr[ri][ci]<0)
  44. {
  45. int p=func(ri);
  46. sum+=p;
  47. ri++;
  48. }
  49. }
  50. printf("%d\n",sum);
  51. //system("PAUSE");
  52. }
  53.  
Success #stdin #stdout 0s 2900KB
stdin
-5 -4 -3 -2 -1
4 5 6 7 8
9 10 11 12 13
14 15 16 17 18
19 20 21 22 23
stdout
5