俗话说的好,兔子不吃窝边草。
村子里有 n 个兔子窝,它们窝门口有 ai 颗萝北。
秉持着一个原则就是不吃窝边草。
假如一只兔子吃一个萝北,那么一共有多少兔子能吃得着萝北。
输入格式:
第一行输入由一个整数 T(1≤T≤25) 组成,表示测试用例的数量。
每个测试用例以一个整数 n(1≤n≤106) 的行开始,即兔子窝的数量。
对于接下来的 n 行,每行包含两个整数 a,b(0≤a,b≤109),分别表示窝里兔子数和窝边萝北数。
保证所有测试用例的 n 之和不超过 6×106。
输出格式:
对于每个测试用例,将答案作为一个整数打印在一行中。
输入样例:
1
2
3 4
2 1
输出样例:
3
#include <bits/stdc++.h>
#define int long long
using namespace std;
int x[1000010],y[1000010];
signed main()
{
int t,res,n,a;
cin>>n;
while(n--)
{
int sum=0,t=0,res=0;
cin>>a;
for(int i=0;i<a;i++)
{
cin>>x[i]>>y[i];
sum=sum+y[i];
}
for(int i=0;i<a;i++)
{
res=res+min(x[i],min(sum-y[i],sum-t));
t=res;
// printf("%d %d\n",i,res);
}
cout<<res<<endl;
}
return 0;
}