做网站客户需要提供的资料,wordpress信用卡支付宝,app开发公司推荐,网络广告视频传送门 Solution 题目说的很迷#xff0c;但可以发现两个瓶子互相倒最少是容积的gcd 那么题目就转化为求其中选k个瓶子gcd的最大值#xff0c;这个可以分解因数#xff0c;枚举因数得到 Code //By Menteur_Hxy
#include map
#include cmath
#include cs…传送门 Solution 题目说的很迷但可以发现两个瓶子互相倒最少是容积的gcd 那么题目就转化为求其中选k个瓶子gcd的最大值这个可以分解因数枚举因数得到 Code //By Menteur_Hxy
#include map
#include cmath
#include cstdio
#include cstdlib
#include cstring
#include iostream
#include algorithm
#define Re register
#define Fo(i,a,b) for(Re int i(a),_(b);i_;i)
#define Ro(i,a,b) for(Re int i(b),_(a);i_;i--)
//#define getchar() (p1p2(p2(p1buf)fread(buf,1,121,stdin)),p1p2?EOF:*p1)
using namespace std;
typedef long long LL;char buf[121],*p1,*p2;
inline int read() {int x0,f1;char cgetchar();while(!isdigit(c)) {if(c-)f-f;cgetchar();}while(isdigit(c)) x(x1)(x3)(c^48),cgetchar();return x*f;
}const int MAXN1010,MAX1e7;
int n,k,tot,ans;
int vis[MAX],a[MAX];
mapint,int id;int main() {nread(),kread();Fo(i,1,n) {int xread(),sqrsqrt(x);Fo(i,1,sqr) if(x%i0) {if(!id[i]) id[i]tot,a[tot]i;vis[id[i]];if(!id[x/i]) id[x/i]tot,a[tot]x/i;vis[id[x/i]];}}Fo(i,1,tot) if(vis[i]k) ansmax(ans,a[i]);printf(%d,ans);return 0;
} 转载于:https://www.cnblogs.com/Menteur-Hxy/p/9818884.html