- 求每次输入后的最大值最小值的差值的总和
-
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5+5; ll ans; multiset<int>s; multiset<int>::iterator np,mp; int main() { int n,k,v; while (~scanf("%d",&n)&&n){ ans=0;s.clear(); for (int i=0;i<n;i++){ scanf("%d",&k); for (int j=0;j<k;j++) scanf("%d",&v),s.insert(v); np=s.begin(),mp=(s.end());mp--; ans+=*mp-*np; s.erase(mp); s.erase(np); } cout<<ans<<endl; } }