Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
24197 liuyile 【BJ】T3 C++ 解答错误 0 385 MS 24836 KB 1843 2023-12-13 12:15:35

Tests(0/3):


#include <iostream> #include <cstdio> #include <math.h> #include <algorithm> #include <istream> #include <string> #include <queue> #include <deque> #include <random> #include <stack> #include <set> #include <string.h> #include <map> #include <unordered_map> #include <sstream> #include <bitset> #include <fstream> #include <climits> #include <time.h> #include <cassert> using namespace std; #define endl "\n" #define int long long #define double long double #define pii pair<int, int> #define p1(x) (x).first #define p2(x) (x).second #define lc(x) ((x) << 1) #define rc(x) ((x) << 1 | 1) #define i128 __int128_t set<int>S[100300]; int n; int mn[100300],cmn[100300]; signed main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); //freopen("tribool.in","r",stdin); //freopen("tribool.out","w",stdout); int t; cin>>t; while(t--){ cin>>n; memset(mn,0x3f,sizeof(mn)); memset(cmn,0x3f,sizeof(cmn)); for(int i=1;i<=n;i++){ int p=0; cin>>p; S[i].clear(); while(p--){ int x; cin>>x; S[i].insert(x); } for(int x:S[i]){ if(mn[x]>S[i].size())cmn[x]=mn[x],mn[x]=S[i].size(); else if(cmn[x]>S[i].size())cmn[x]=S[i].size(); } } int res=1e9; for(int i=1;i<=n;i++){ vector<int>f; for(int x:S[i]) if(mn[x]==S[i].size())f.push_back(cmn[x]); else f.push_back(mn[x]); sort(f.begin(),f.end()); int ct=0; for(int x:f) ct++,res=min(res,x+ct); } cout<<res<<endl; } cout.flush(); return 0; }


测评信息: