首页 > 试题广场 >

Another Server

[编程题]Another Server
  • 热度指数:13 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
何老师某天在机房里搞事情的时候,发现机房里有n台服务器,从1到n标号,同时有2n-2条网线,从1到2n-2标号,其中第i条网线双向连接着 服务器和号服务器,在一个单位时间内最多能够承受x_i个单位流量。 显然这些服务器之间要进行信息交换,为了测试服务器的抗压能力,你需要帮何老师计算出1号服务器在一个单位时间内最多能向n号服务器发送多少个单位流量的数据,这里认为数据的传输是瞬间完成的。

(该图引用自百度百科)

输入描述:
第一行是一个正整数T(≤ 1000),表示测试数据的组数, 对于每组测试数据, 第一行是一个整数n(2 ≤ n ≤ 100),表示服务器的数量, 第二行包含2n-2个以空格分隔的正整数x_1,x_2,...,x_{2n-2},表示网线单位时间内能承受的流量,保证不超过100。


输出描述:
对于每组测试数据,输出一个整数,表示1号服务器在一个单位时间内最多能向n号服务器发送的数据量。
示例1

输入

2
2
1 1
3
1 3 2 4

输出

2
4

备注:
⌊x⌋表示不大于x的最大整数,例如⌊1.5⌋=1,⌊2⌋=2。
头像 威风镰鼬
发表于 2022-02-11 02:01:44
思路 连续的两条线加起来,就表示第i台服务器到第i+1台在单位时间的传输量, 然后在单位时间内,最大传输量由最小的一处决定,去min即可。 代码 //#pragma GCC optimize("Ofast", "inline", "-ffast-math") //#pragma GCC target 展开全文
头像 jxfzzzt
发表于 2021-02-10 11:52:52
首先发现规律 一条信道的宽度为连续输入的两个数的和,然后再从头到尾枚举即可。 #include <cstdio> #include <iostream> using namespace std; const int N = 100010; int a[N], b[N]; in 展开全文