A. Another Server
Time Limit: 1000ms
Memory Limit: 262144KB
64-bit integer IO format:
%lld Java class name:
Main
何老师某天在机房里搞事情的时候,发现机房里有台服务器,从
到
标号,同时有
条网线,从
到
标号,其中第
条网线双向连接着
号服务器和
号服务器,在一个单位时间内最多能够承受
个单位流量。
显然这些服务器之间要进行信息交换,为了测试服务器的抗压能力,你需要帮何老师计算出号服务器在一个单位时间内最多能向
号服务器发送多少个单位流量的数据,这里认为数据的传输是瞬间完成的。
(该图引用自百度百科)
Input
第一行是一个正整数,表示测试数据的组数,
对于每组测试数据,
第一行是一个整数,表示服务器的数量,
第二行包含个以空格分隔的正整数
,表示网线单位时间内能承受的流量,保证不超过
。
Output
对于每组测试数据,输出一个整数,表示号服务器在一个单位时间内最多能向
号服务器发送的数据量。
Sample Input
2 2 1 1 3 1 3 2 4
Sample Output
2 4
Hint
表示不大于
的最大整数,例如
。
通过手写几种情况不难发现,连的边最终一定是一条链.那么我们只要找到瓶颈边即可。min(边的权值)。
Ac代码:
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
int output=0;
int sum=0;
for(int i=1;i<=2*n-2;i++)
{
int w;
scanf("%d",&w);
sum+=w;
if(i%2==0)
{
if(i==2)output=sum;
else output=min(sum,output);
sum=0;
}
}
printf("%d\n",output);
}
}