https://ac.nowcoder.com/acm/contest/3007/A
Título Descripción
No son números enteros positivos A y B, cada colección, hay una serie N, usted tiene que construir un mapeo entre ellas
Cada par de números puede ser añadido y el N, usted tiene que hacer es maximizar el K-grande y
Todas las entradas digitales no exceda 1E8 1≤K≤N≤100,000
pensamiento
~ Codicioso de lo que pensaba inicialmente hasta
La primera sección es una gran K (N - K + 1) es pequeña, de modo que es más pequeño que lo más pequeño posible, para dar el último un número pequeño, y después añadiendo el resto de la escalonada, por encima del máximo + mínimo restante abajo, desde seleccionar un mínimo en el interior está la respuesta
#include <bits/stdc++.h>
using namespace std;
int n, k;
const int N = 1e5 + 10;
int a[N], b[N];
int main()
{
scanf("%d %d", &n, &k);
for (int i = 1; i <= n; i++){
scanf("%d", a + i);
}
for (int i = 1; i <= n; i++){
scanf("%d", b + i);
}
k = n - k + 1;
sort(a + 1, a + 1 + n);
sort(b + 1, b + 1 + n);
vector<int> vec;
for (int i = k, j = n; i <= n; i++, j--){
vec.push_back(a[i] + b[j]);
}
sort(vec.begin(), vec.end());
printf("%d\n", *vec.begin());
return 0;
}