Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- // "= 1" в режиме TEST.
- int debugging = 0; // "= 0" в режиме автоматизированной проверки.
- // Функция для поиска индекса числа в массиве, слева от которого сумма
- // элементов равна сумме элементов, стоящих справа от него
- ///////////////////////////////////////////////////////////
- int findIndex(const vector<int>& arr) //
- {
- int leftSum = 0,
- rightSum = 0;
- for(int i = 0; i < arr.size(); ++i) rightSum += arr[i]; if(debugging) cout << "right = "<< rightSum << endl;
- for(int i = 0; i < arr.size(); ++i)
- {
- if(i) leftSum += arr[i-1];
- rightSum -= arr[i ];
- if(debugging) cout << "i = "<< i << ", rightSum = " << rightSum << ", leftSum = " << leftSum << endl;
- if(leftSum == rightSum) return i; // Найден!
- }
- return -1; // Элемент не найден
- }
- int init(vector<int> &arr);
- ////////////////////////////////////////////////////////////
- int main()
- {
- int N = 4;
- if(debugging == 0) cin >> N;
- vector<int> arr(N);
- if(debugging) init(arr);
- else for(int i = 0; i < N; ++i) cin >> arr[i];
- cout << findIndex(arr);
- return 0;
- }
- // Для тестирования ТОЛЬКО
- ////////////////////////////////////////////////////////////
- int init(vector<int> &arr) //
- {
- //int nArr[99] = {1, 0, -1, 2};
- int nArr[99] = {2, 7, 1, -8};
- for(int i = 0; i < arr.size(); ++i)
- {
- arr[i] = nArr[i];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement