Advertisement
dllbridge

Untitled

Sep 17th, 2024
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.87 KB | None | 0 0
  1.  
  2.  
  3. #include  <iostream>
  4. #include    <vector>
  5. using namespace std;
  6.  
  7.                      //  "= 1" в режиме TEST.
  8. int debugging = 0;   //  "= 0" в режиме автоматизированной проверки.
  9.  
  10. // Функция для поиска индекса числа в массиве, слева от которого сумма
  11. //  элементов равна сумме элементов, стоящих справа от него
  12. ///////////////////////////////////////////////////////////
  13. int findIndex(const vector<int>& arr)                    //
  14. {
  15.     int leftSum = 0,
  16.        rightSum = 0;
  17.  
  18.  
  19.  for(int i = 0; i < arr.size(); ++i)  rightSum += arr[i];      if(debugging) cout << "right = "<< rightSum << endl;
  20.  for(int i = 0; i < arr.size(); ++i)
  21.  {
  22.      
  23.      if(i) leftSum += arr[i-1];
  24.           rightSum -= arr[i  ];
  25.      
  26.      if(debugging) cout << "i = "<< i << ", rightSum = " << rightSum << ", leftSum = " << leftSum << endl;
  27.      
  28.      if(leftSum == rightSum) return i;                  //  Найден!  
  29.  }
  30. return -1;                                              // Элемент не найден
  31. }
  32.  
  33. int init(vector<int> &arr);
  34.  
  35. ////////////////////////////////////////////////////////////
  36. int main()
  37. {
  38.     int N = 4;
  39.    
  40.     if(debugging == 0) cin >> N;
  41.    
  42.     vector<int> arr(N);
  43.    
  44.     if(debugging) init(arr);
  45.     else          for(int i = 0; i < N; ++i) cin >> arr[i];
  46.      
  47.     cout << findIndex(arr);
  48.  
  49. return 0;
  50. }
  51.  
  52.  
  53.  
  54. //  Для тестирования ТОЛЬКО
  55. ////////////////////////////////////////////////////////////
  56. int init(vector<int> &arr)                                //    
  57. {
  58.    
  59.   //int nArr[99] = {1, 0, -1, 2};
  60.    
  61.     int nArr[99] = {2, 7, 1, -8};
  62.    
  63.     for(int i = 0; i < arr.size(); ++i)
  64.     {
  65.            
  66.         arr[i] = nArr[i];    
  67.     }
  68. }
  69.  
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement