其他分享
首页 > 其他分享> > 五一训练C-3

五一训练C-3

作者:互联网

题目链接:https://vjudge.net/contest/436484#problem/C

学好英语很重要呀,不然gcd都看不懂

这个题要使交换后没有降序排列,那就把输入的数组先进行排序,然后与输入的数组比对,得到一个新的数组,如果这个数组的全是gcd(x,y)的倍数,那么输出yes,否则no

#include<stdio.h>
#include <iostream>
#include<algorithm>
using namespace std;
int main(){
    int t,n,a[100005],b[100005],c[100005];
    scanf("%d",&t);
    for(int i=0;i<t;i++){
        int min,d=0,e=1;
        scanf("%d",&n);
        for(int j=0;j<n;j++){
            scanf("%d",&a[j]);
            b[j]=a[j];
        }
        sort(b,b+n);
        for(int k=0;k<n;k++){
            if(a[k]!=b[k]){
                c[d]=a[k];
                d++;
            }
        }
        for(int l=0;l<d;l++){
        
                if(c[l]%b[0]!=0){
                    e=0;
                    printf("NO\n");
                    break;
                }
            }
            if(e){
                printf("YES\n");
            }
    }
    return 0;
}

 

标签:gcd,训练,int,100005,输入,数组,include,五一
来源: https://www.cnblogs.com/snow-joker/p/14728351.html