首先 我对jiangly的没有登顶表示遗憾
其次 我对我这场div2才做三题表示更加遗憾
最后 我要对期待过我的人表示遗憾
A
暴力
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
const int M = 1<<20;
const int mod = 998244353;
#define int long long
#define endl '\n'
#define Endl '\n'
#define inf 0x3f3f3f3f3f3f3f3f
#define fast ios::sync_with_stdio(false);cin.tie(nullptr);
int max(int x,int y){return x>y?x:y;}
int min(int x,int y){return x<y?x:y;}
signed main(){
fast
int t;cin>>t;
while(t--){
int n;cin>>n;
int a[N];
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=2;i<=n;i++){
if(a[i]%a[1]!=0){
cout<<"NO"<<endl;
goto out;
}
}
cout<<"YES"<<endl;
out:1;
}
return 0^0;
}
B
首先我们知道gcd 都小于 a b 那么我们要有这个序列 注意这个a_i可以重复使用
暴力 Tle 4
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
const int M = 1<<20;
const int mod = 998244353;
#define int long long
#define endl '\n'
#define Endl '\n'
#define inf 0x3f3f3f3f3f3f3f3f
#define fast ios::sync_with_stdio(false);cin.tie(nullptr);
int max(int x,int y){return x>y?x:y;}
int min(int x,int y){return x<y?x:y;}
int b[N];
signed main(){
fast
int t;cin>>t;
while(t--){
int n,l,r;cin>>n>>l>>r;
for(int i=1;i<=n;i++){
int j;
for(j=l;j<=r;j++){
if(j%i==0){
b[i]=j;
break;
}
}
if(j==r+1){
cout<<"NO"<<endl;
goto out;
}
}