当前位置:网站首页>C. Mere Array
C. Mere Array
2022-08-09 21:55:00 【秦小咩】
C. Mere Array
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
You are given an array a1,a2,…,ana1,a2,…,an where all aiai are integers and greater than 00.
In one operation, you can choose two different indices ii and jj (1≤i,j≤n1≤i,j≤n). If gcd(ai,aj)gcd(ai,aj) is equal to the minimum element of the whole array aa, you can swap aiai and ajaj. gcd(x,y)gcd(x,y) denotes the greatest common divisor (GCD) of integers xx and yy.
Now you'd like to make aa non-decreasing using the operation any number of times (possibly zero). Determine if you can do this.
An array aa is non-decreasing if and only if a1≤a2≤…≤ana1≤a2≤…≤an.
Input
The first line contains one integer tt (1≤t≤1041≤t≤104) — the number of test cases.
The first line of each test case contains one integer nn (1≤n≤1051≤n≤105) — the length of array aa.
The second line of each test case contains nn positive integers a1,a2,…ana1,a2,…an (1≤ai≤1091≤ai≤109) — the array itself.
It is guaranteed that the sum of nn over all test cases doesn't exceed 105105.
Output
For each test case, output "YES" if it is possible to make the array aa non-decreasing using the described operation, or "NO" if it is impossible to do so.
Example
input
Copy
4 1 8 6 4 3 6 6 2 9 4 4 5 6 7 5 7 5 2 2 4
output
Copy
YES YES YES NO
Note
In the first and third sample, the array is already non-decreasing.
In the second sample, we can swap a1a1 and a3a3 first, and swap a1a1 and a5a5 second to make the array non-decreasing.
In the forth sample, we cannot the array non-decreasing using the operation.
=========================================================================
非常巧妙的一个题目,首先来说,一个无规则数列进行排序,只需要将排序之后与原位置不对应的位置进行对比即可,也就是排序之后与排序之后位置上数字不对应的需要进行排序。
而我们根据冒泡排序等各种排序规则,两元素若能够自由交换,那么一定能够排序成功,而本题要求的条件略有苛刻,那就是要直接交换两个元素的话,必须满足gcd=mina,这个条件太苛刻了,我们冒泡排序无法成功。但是我们可以将这个条件再降一下标准
a b能够整除min,那么一定能够交换
证明如下
x min y 其中gcd(x,y)=k min 也就是x,y目前无法进行交换
min x y
y x min
y min x
三步走,完成交换,min位置不变
#include<iostream>
#include<cstdio>
#include<queue>
# include<algorithm>
using namespace std;
int b[100000+10];
int a[100000+10];
int main()
{
int t;
cin>>t;
while(t--)
{
int n,flag=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
b[i]=a[i];
}
sort(b+1,b+1+n);
for(int i=1;i<=n;i++)
{
if(a[i]!=b[i])
{
if(b[i]%b[1])
{
flag=1;
break;
}
}
}
if(flag)
{
cout<<"No"<<endl;
}
else
{
cout<<"YES"<<endl;
}
}
return 0;
}边栏推荐
- 跨端技术方案选什么好?
- The kvm virtual machine cannot be started, NOT available, and the PV is larger than the partition
- Liver all night to write a thirty thousand - word all the commands the SQL database, function, speaks clearly explain operators, content is rich, proposal collection + 3 even high praise!
- Five Star Holdings Wang Jianguo: Deepen the track with "plant spirit" and promote growth with "animal spirit"
- 大型分布式存储方案MinIO介绍,看完你就懂了!
- 孙正义亏掉1500亿:当初投贵了
- BulkInsert方法实现批量导入
- APP automation test framework - UiAutomator2 introductory
- 1215 – Cannot add foreign key constraint
- 第十七期八股文巴拉巴拉说(数据库篇)
猜你喜欢

Liver all night to write a thirty thousand - word all the commands the SQL database, function, speaks clearly explain operators, content is rich, proposal collection + 3 even high praise!

Under the NVM node installation;The node environment variable configuration

台风生成,广州公交站场积极开展台风防御安全隐患排查
![[Microservice~Nacos] Nacos service provider and service consumer](/img/b7/47ecd6979ccfeb270261681d6130be.png)
[Microservice~Nacos] Nacos service provider and service consumer

Presto Event Listener开发

国内手机厂商曾为它大打出手,如今它却最先垮台……

阿里云架构师金云龙:基于云XR平台的视觉计算应用部署

聊天尬死名场面,你遇到过吗?教你一键获取斗图表情包,晋升聊天达人
![One Pass 2074: [21CSPJ Popularization Group] Candy](/img/72/d3e46a820796a48b458cd2d0a18f8f.png)
One Pass 2074: [21CSPJ Popularization Group] Candy

从产品角度看 L2 应用:为什么说这是一个游乐场?
随机推荐
2022年中国第三方证券APP创新专题分析
2.1.5 大纲显示问题
编译原理之文法
【微服务~Nacos】Nacos之配置中心
国内手机厂商曾为它大打出手,如今它却最先垮台……
Blender程序化建模简明教程【PCG】
第十七期八股文巴拉巴拉说(数据库篇)
基于ABP的AppUser对象扩展
Analyze the Add() method in Fragment management from the source code
STC8H development (15): GPIO drive Ci24R1 wireless module
Five Star Holdings Wang Jianguo: Deepen the track with "plant spirit" and promote growth with "animal spirit"
One Pass 2074: [21CSPJ Popularization Group] Candy
Install win virtual machine on VMware
接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
为什么这么多人都想当产品经理?
Deceptive Dice
Flask入门学习教程
深度剖析 Apache EventMesh 云原生分布式事件驱动架构
18-GuliMall 压力测试与性能监控
mysql 找不到或无法加载已注册的 .Net Framework Data Provider。