Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <iostream>
- #include <climits>
- #include <vector>
- using namespace std;
- void GetData(vector<vector<int>>& sequences) {
- for (vector<int>& sequence : sequences) {
- for (int& number : sequence) {
- cin >> number;
- }
- }
- }
- int GetTwoArraysElementsMinMaxIdx(const vector<int>& incr, const vector<int>& decr) {
- int cur_max = INT_MAX;
- int max_idx = -1;
- for (int i = 0; i < incr.size(); ++i) {
- if (cur_max > incr[i] && cur_max > decr[i])
- {
- cur_max = max(incr[i], decr[i]);
- max_idx = i;
- }
- }
- return max_idx;
- }
- int main() {
- int increasing_count, decreasing_count, numbers_count;
- cin >> increasing_count >> decreasing_count >> numbers_count;
- vector<vector<int>> increasing(increasing_count, vector<int>(numbers_count));
- vector<vector<int>> decreasing(decreasing_count, vector<int>(numbers_count));
- GetData(increasing);
- GetData(decreasing);
- int requests_count;
- cin >> requests_count;
- for (int i = 0; i < requests_count; ++i) {
- int incr_array_idx, decr_array_idx;
- cin >> incr_array_idx >> decr_array_idx;
- --incr_array_idx;
- --decr_array_idx;
- cout << GetTwoArraysElementsMinMaxIdx(increasing[incr_array_idx], decreasing[decr_array_idx]) + 1 << '\n';
- }
- return 0;
- }
- /*
- test1
- 4 3 5
- 1 2 3 4 5
- 1 1 1 1 1
- 0 99999 99999 99999 99999
- 0 0 0 0 99999
- 5 4 3 2 1
- 99999 99999 99999 0 0
- 99999 99999 0 0 0
- 12
- 1 1
- 1 2
- 1 3
- 2 1
- 2 2
- 2 3
- 3 1
- 3 2
- 3 3
- 4 1
- 4 2
- 4 3
- 3
- 4
- 3
- 5
- 4
- 3
- 1
- 4
- 3
- 4
- 4
- 4
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement