Untitled
user_5668965
c_cpp
10 months ago
966 B
5
Indexable
#include <bits/stdc++.h> #define pb emplace_back #define fst first #define scd second #define mkp make_pair #define mems(a, x) memset((a), (x), sizeof(a)) using namespace std; typedef long long ll; typedef double db; typedef unsigned long long ull; typedef long double ldb; typedef pair<ll, ll> pii; const int maxn = 200100; ll n, m, a[maxn]; bool vis[maxn]; void solve() { scanf("%lld%lld", &n, &m); ll k = 0; while (n--) { int t; scanf("%d", &t); for (int i = 0; i <= t + 5; ++i) { vis[i] = 0; } for (int i = 1; i <= t; ++i) { scanf("%lld", &a[i]); if (a[i] <= t + 4) { vis[a[i]] = 1; } } ll mex = 0; while (vis[mex]) { ++mex; } vis[mex] = 1; while (vis[mex]) { ++mex; } k = max(k, mex); } printf("%lld\n", k >= m ? (m + 1) * k : k * k + (m + k) * (m - k + 1) / 2); } int main() { int T = 1; scanf("%d", &T); while (T--) { solve(); } return 0; }
Editor is loading...
Leave a Comment