# include <cstdio> #include <algorithm> const int MAX_N = 100; int L, n, x[MAX_N]; void solve() { int minT = 0; for (int i = 0; i < n; ++i) { minT = std::max(minT, std::min(x[i], L - x[i])); } int maxT = 0; for (int i = 0; i < n; ++i) { maxT = std::max(maxT, std::max(x[i], L - x[i])); } printf("%d %d\n", minT, maxT); } int main() { int cases; scanf("%d", &cases); while (cases-- > 0) { scanf("%d%d", &L, &n); for (int i = 0; i < n; ++i) { scanf("%d", x + i); } solve(); } return 0; }
抽签问题:从若干个数中抽取4个数使它们的和是k。即前面的3sum,4sum问题。
k1 + k2 + k3 + k4 = m变换成:k1 + k2 = m - k3 - k4
总想把每一篇文章精雕细琢之后以完美的面貌示人,就像演员在演出前都要彩排,总想准备好之后再去展现精彩的一面,但人生的每一刻都是精彩的,就算现在还不完善也要发出来,作为自己一直在学习的一种见证。