1 条题解

  • 0
    @ 2025-2-3 13:04:20
    #include <iostream>
    using namespace std;
    
    int main() {
    	int a, b;
    	int count = 0;
    	int aa[101], bb[101];
    	cin >> a;
    	for (int i = 0; i < a; i++) {
    		cin >> aa[i];
    	}
    	cin >> b;
    	for (int i = 0; i < b; i++) {
    		cin >> bb[i];
    	}
    	int n;
    	cin >> n;
    	int i = 0, j = 0;
    	int sum = 0;
    	while (i < a && j < b && count < n) {
    		if (aa[i] < bb[j]) {
    			sum = sum + aa[i] + bb[j];
    			count++;
    			j++;
    		}//比较两个数组元素大小,使大的元素所在数组下标+1,小的元素所在数组下标不变
    		else if (aa[i] > bb[j]) {
    			sum = sum + bb[j] + aa[i];
    			count++;
    			i++;
    		}
    		else {
    			if (aa[i + 1] <= bb[j + 1]) {
    				sum = sum + aa[i] + bb[j];
    				count++;
    				i++;
    			}//如果两个元素相等,则比较两个数组下一个元素大小,使小的元素所在数组下标+1,大的元素所在数组下标不变
    			else{
    				sum = sum + bb[j] + aa[i];
    				count++;
    				j++;
    			}
    		}
    	}
    	cout << sum << endl;
    	return 0;	
    }
    

    信息

    ID
    111
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    (无)
    递交数
    95
    已通过
    54
    上传者