最佳利用率

https://tianchi.aliyun.com/oj/338592228998370026/357527484118536803
描述
给两个排序的数组。 从两个数组中各取取一个数,这两个数之和需要小于或等于k, 需要找到两数之和最大的索引组合。返回一对包含两个列表的索引。如果有多个两数之和相等的索引答案,你应该选择第一个数组索引最小的索引对。在此前提下,你应该选择第二个数组索引最小的索引对。

1)两数的总和<= k

2)总和是最大的

3)两个数组索引都尽量最小

如果你无法找到答案,你应返回一个空列表[]。

You can assume that the numbers in arrays are all positive integer or zero.

示例
示例1

输入:
A = [1, 4, 6, 9], B = [1, 2, 3, 4], K = 9
输出:
[2, 2]

示例2:

输入:
A = [1, 4, 6, 8], B = [1, 2, 3, 5], K = 12
输出:
[2, 3]

class Solution {
public:
/**
* @param A: an integer sorted array
* @param B: an integer sorted array
* @param K: an integer
* @return: return a pair of index
*/
vector optimalUtilization(vector &A, vector &B, int K) {
// write your code here
int la = A.size();
int lb = B.size();
int max = -1;
vector c;
for (int i = 0;i < la;i ++)
{
for(int j = 0;j < lb;j ++)
{
if(A[i] + B[j] <= K && A[i] + B[j] > max)
{
max = A[i] + B[j];
if(c.size() != 0)
{
c.pop_back();
c.pop_back();
}
c.push_back(i);
c.push_back(j);

            }
        }
    }
    return c;
}

};