当前位置:网站首页>E. Best Pair

E. Best Pair

2022-07-06 04:10:00 whitewall_ nine

https://codeforces.com/contest/1637/problem/E
#include<bits/stdc++.h>
using namespace std;

#define rep(i,l,r) for(int i=(l);i<=(r);i++)
#define per(i,l,r) for(int i=(l);i>=(r);i--)
#define ll long long
#define pii pair<int, int>
#define mset(s,t) memset(s,t,sizeof(t))
#define mcpy(s,t) memcpy(s,t,sizeof(t))
#define fir first
#define pb push_back
#define sec second
#define sortall(x) sort((x).begin(),(x).end())
inline int read () {
	int x = 0, f = 0;
	char ch = getchar();
	while (!isdigit(ch)) f |= (ch=='-'),ch= getchar();
	while (isdigit(ch)) x = x * 10 + ch - '0', ch = getchar();
	return f?-x:x;
}
template<typename T> void print(T x) {
	if (x < 0) putchar('-'), x = -x;
	if (x >= 10) print(x/10);
	putchar(x % 10 + '0');
}
#define int long long
const int N = 1e4 + 10;


void solve() {
	map<int, int> cnt;
	
	int n, m;
	cin >> n >> m;
	vector<int> a(n);
	for (auto &tt : a) {
		cin >> tt;
		cnt[tt] ++;
	}
	vector<pii> bad(m * 2);
	rep(i, 1, m) {
		int x, y;
		cin>> x >> y;
		bad.pb({x, y});
		bad.pb({y, x}); 
	} 
	sort(bad.begin(), bad.end());
	vector<vector<int>> occ(n); 
	for (auto &[num, ct] : cnt) {
		occ[ct].pb(num);
	}
	for (auto &t : occ)
		reverse(t.begin(), t.end());
	int ans = 0;
	for (int cx = 1; cx < n; cx ++) {
		for (auto x : occ[cx]) {
			for (int cy = 1; cy <= cx; cy ++) {
				for (auto y : occ[cy]) {
					if (y != x && !binary_search(bad.begin(), bad.end(), pair<int, int>{x, y})) {
						ans = max (ans, (cx + cy) * (x + y));
						break;
					}
				}
			}
		}
	}
	cout << ans << endl;
}
signed main () {
    int t;
    cin >> t;
    while (t --) solve();
    
}


I didn't think about this question before. I was thinking about what simple ideas can help me find such an answer . Actually, this question is right stl The use of , Because it is to find the maximum , So we invert all the numbers by enumerating the number , It can reduce the complexity , If you enumerate , First calculate the number , Then enumerate the enumeration times , Replace enumeration object

原网站

版权声明
本文为[whitewall_ nine]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202132243332231.html