luoguP4571 [JSOI2009]瓶子和燃料 裴蜀定理


裴蜀定理的扩展

最后返回的一定是\(k\)个数的\(gcd\)

因此对于每个数暴力分解因子统计即可


#include <map>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;

#define ri register int
#define rep(io, st, ed) for(ri io = st; io <= ed; io ++)
#define drep(io, ed, st) for(ri io = ed; io >= st; io --)

int n, k, ans;
map <int, int> ex;
	
inline void resolve() {
	int v; cin >> v;
	for(int i = 1; i * i <= v; i ++)
		if(v % i == 0) {
			ex[i] ++;
			if(ex[i] >= k && i >= ans) ans = i;
			if(i != v / i) ex[v / i] ++;
			if(ex[v / i] >= k && v / i >= ans) ans = v / i;
		}
}
	
int main() {
	cin >> n >> k;
	for(int i = 1; i <= n; i ++) resolve();
	printf("%d\n", ans);
	return 0;
}

相关文章:

  • 2021-10-10
  • 2022-02-18
  • 2021-07-23
  • 2021-09-12
  • 2021-09-05
  • 2021-07-18
  • 2021-09-16
猜你喜欢
  • 2022-02-25
  • 2021-08-20
  • 2021-07-18
  • 2021-11-27
  • 2022-03-04
  • 2022-01-28
  • 2018-02-05
相关资源
相似解决方案