#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
#define N 1000000000
#define ll long long
ll ans = 0;
vector<int> nums_behind;
void solve(int x)
{
sort(nums_behind.begin(), nums_behind.end());
for(int i = 1; i < x; i++) ans += nums_behind[i];
cout << ans << endl;
// for(int i = 0; i < x; i++) cout << nums[i].first << ' ' << nums[i].second << endl;
nums_behind.clear();
ans = N;
}
void fun(int x)
{
int k = 0;
ans = N;
bool sign = false;
while(x--)
{
int n;
cin >> n; // 处理n个数组
if(n == 1)
{
int a;
cin >> a;
ans = a;
}
else
{
int Min_1 = N, Min_2 = N;
while(n--) // 存储最小值
{
int a;
cin >> a;
if(a < Min_1) // 最小的
{
Min_2 = Min_1;
Min_1 = a;
}
else if(a < Min_2) Min_2 = a; // 次小的
if(Min_1 < ans) ans = Min_1;
}
nums_behind.push_back(Min_2);
k++;
}
}
solve(k);
}
int main()
{
int t;
cin >> t;
while(t--)
{
int n;
cin >> n;
fun(n);
}
return 0;
}
1.模块化处理,使用函数
2.变量的作用域,什么时候定义一个变量,变量的更新
3.不使用排序如何更快取最小值和次小值