https://codeforces.com/contest/1154/problem/G

题意:给定数组,求其中lcm(a,b)的最小的a和b的位置。

题解:枚举GCD

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=10000000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,p,l,r,u,v;
ll ans[2],cnt,flag,temp,sum;
int vis[N];
char str;
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d",&n);ll maxl=1e18;for(int i=1;i<=n;i++){scanf("%d",&m);if(vis[m]){ll tempmax=m;if(tempmax<maxl){maxl=tempmax;ans[0]=vis[m];ans[1]=i;}}vis[m]=i;}for(int i=1;i<N;i++){sum=0;temp=0;for(int j=i;j<N;j+=i){if(vis[j])sum++;elsecontinue;if(sum&&!temp)temp=j;if(sum>=2){ll tempmax=temp/i*j;//cout<<temp<<j<<endl;if(tempmax<maxl){maxl=tempmax;ans[0]=vis[temp];ans[1]=vis[j];}break;}}}if(ans[0]>ans[1])swap(ans[0],ans[1]);cout<<ans[0]<<" "<<ans[1]<<endl;//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Minimum Possible LCM相关推荐

  1. Minimum Sum LCM(uva10791+和最小的LCM+推理)

    L - Minimum Sum LCM Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submi ...

  2. 28行代码AC——Minimum Sum LCM UVA - 10791(最大质因子)

    励志用尽量少的代码做高效表达 题目(提交)链接-->UVA - 10791 题意 输入正整数n,找至少两个数,使得他们的最小公倍数(Least Common Multiple)为n且要输出最小的 ...

  3. UVA10791 Minimum Sum LCM(数论)

    <span style="font-family:FangSong_GB2312;font-size:18px;">/* Sample Input 12 10 5 0 ...

  4. UVa 10791 Minimum Sum LCM

    分析一波发现,将原数尽可能地分解成"质数的k次方"的和,会使得答案最大而数字和最小 于是就可以愉快地质因数分解了. 注意判断若n是质数,答案为n+1. 1 /**/ 2 #incl ...

  5. cf552 G Minimum Possible LCMn个数,求最小得一对lcm

    You are given an array a consisting of n integers a1,a2,-,an Your problem is to find such pair of in ...

  6. 训练指南第二章-基础问题

    训练指南第二章-基础问题 P170 2 / 4 Problem A UVA 10943 How do you add? 1 / 2 Problem B UVA 10780 Again Prime? N ...

  7. 《算法入门经典大赛——培训指南》第二章考试

    UVa特别考试 UVa站点专门为本书设立的分类题库配合,方便读者提交: http://uva.onlinejudge.org/index.php?option=com_onlinejudge& ...

  8. 训练指南——数学专题一的总结

    差不多一个星期过去了,在这一个多星期里,我做了一个数学专题和两场训练赛,要说对自己的感觉,只能说很差劲,开始的时候以为环境会比现在宽松很多,后来才发现想法是错误的,实验室室里室一种紧张的气氛,感觉就像 ...

  9. AOAPC I: Beginning Algorithm Contests 题解

    AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...

最新文章

  1. 程序员下班回家,路上被拦......
  2. RocEDU.课程设计2018 第二周进展 博客补交
  3. Laravel5.4重新登陆跳转到登陆前页面的原理和实现
  4. git通过gitosis来管理权限(三)
  5. CROSS APPLY 和outer apply
  6. 使用 Boost.MPI 的骨架和内容进行优化的示例
  7. 小bat大装逼(▼へ▼メ)
  8. java笔记(3):String(2)
  9. Redis命令总结及其基础知识讲述
  10. android用户登录volley,如何在Android上使用Volley进行基本身份验证?
  11. (计算机组成原理)第三章存储系统-第六节2:Cache和主存的映射方式(全相联映射、直接映射和组相连映射)
  12. 大动作!华为海思注册资本从6亿增加到20亿
  13. android view选中状态,RecyclerView选中
  14. Java httpClient 发送http请求
  15. Redis 五大数据类型的基本命令使用
  16. 谷歌开源缓存框架Guava Cache
  17. part-15 开环增益Avol
  18. Attack State Slight Movement(攻击状态)
  19. 前端面试——安全相关
  20. 倍增设计技术(指针跳跃技术)——表序问题——求森林的根

热门文章

  1. flask html下拉列表,如何使用Flask和HTML从python列表创建下拉菜单
  2. php需要什么技能,成为一个好的PHP工程师需要掌握什么技能
  3. 解决MyBatis的报错 There is no getter for property named ‘*‘ in ‘class java.lang.String‘
  4. java动态语言_java动态类型语言支持(三)
  5. della计算机驱动检测,nexus6安装BPTOOLS中的diag驱动图文教程
  6. oracle经典博客,Oracle启动步骤【经典博客】
  7. linux无法打开共享对象文件或目录,linux - libmodbus.so.5:无法打开共享对象文件:没有这样的文件或目录 - 堆栈内存溢出...
  8. 那年大一在图书馆作死的大学高数笔记 | 函数和极限
  9. GAN处理手写图片数据集
  10. sscanf取固定长度的int_翠屏摇臂式取水泵船长沙水泵厂专业设计中大泵业