Codeforces Round #579 (Div. 3)

Codeforces Round #579 (Div. 3)

A

# include <bits/stdc++.h>
using namespace std;

int p[300];
int c[300];
int b[300];
int main()
{
int q;
scanf("%d",&q);
while(q--){
int n;
int cc=0;
int bb=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&p[i]);
}
for(int i=1;i<=n;i++){
if(i==1) c[i]=p[i]-p[n];
else c[i]=p[i]-p[i-1];
if(c[i]==1) cc++;
}
for(int i=1;i<=n;i++){
if(i==n) b[i]=p[i]-p[1];
else b[i]=p[i]-p[i+1];
if(b[i]==1) bb++;
}
if(cc==(n-1)||bb==(n-1)) printf("YES\n");
else printf("NO\n");
}
return 0;
}

B

# include <bits/stdc++.h>
using namespace std;

const int MAXN=500;
int a[MAXN];
int main()
{
int q;
scanf("%d",&q);
while(q--){
int n;
int flag=1;
scanf("%d",&n);
for(int i=0;i<4*n;i++){
scanf("%d",&a[i]);
}
sort(a,a+4*n);
int area;
for(int i=0;i<2*n;i+=2){
if(a[i]==a[i+1]){
if(a[4*n-i-1]==a[4*n-i-2]){
if(i==0){
area=a[i]*a[4*n-i-1];
}else{
int aa=a[i]*a[4*n-i-1];
if(aa==area) continue;
else{
flag=0;
break;
}
}
}else{
flag=0;
break;
}
}else{
flag=0;
break;
}
}
if(flag){
printf("YES\n");
}else printf("NO\n");
}
return 0;
}

C

# include <bits/stdc++.h>
using namespace std;

typedef long long LL;
const int MAXN=4e5+100;
LL a[MAXN];
LL gcd(LL a,LL b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
int n;
scanf("%d",&n);
LL gcdd;
LL cnt=0;
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
if(i==1){
gcdd=a[i];
}else{
gcdd=gcd(gcdd,a[i]);
}
}
for(int i=1;i<=sqrt(gcdd);i++){
if(gcdd%i==0){
cnt++;
LL ee=gcdd/i;
if(ee!=i) cnt++;
}
}
printf("%lld",cnt);
return 0;
}

D

# include <bits/stdc++.h>
using namespace std;

const int MAXN=300;
char s[MAXN];
char t[MAXN];
int a[MAXN][MAXN];
int len[MAXN];
int main()
{
scanf("%s",s);
scanf("%s",t);
int lens=strlen(s),lent=strlen(t);
int maxx=0;
if(s==t){
printf("0\n");
}else{
for(int i=0;i<lens;i++){
for(int j=0;j<lent;j++){
if(s[i]==t[j]){
a[j][len[j]]=i;
len[j]++;
break;
}
}
}
for(int i=0;i<lent;i++){

}
}

return 0;
}

E

# include <bits/stdc++.h>
using namespace std;

const int MAXN=151000;
int a[MAXN];
int f[MAXN][3];
int mp[MAXN];
int main()
{
int n;
int cnt=0;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
sort(a,a+n);
f[1][0]=1;
for(int i=0;i<n;i++){
if(f[a[i]][0]==0){
if(mp[a[i]-1]==0){
cnt++;
mp[a[i]-1]=1;
continue;
}
}
if(f[a[i]][1]==0){
if(mp[a[i]]==0){
cnt++;
mp[a[i]]=1;
continue;
}
}
if(f[a[i]][2]==0){
if(mp[a[i]+1]==0){
cnt++;
mp[a[i]+1]=1;
continue;
}
}
}
printf("%d",cnt);

return 0;
}



posted @ 2022-02-26 22:53  fengzlj  阅读(62)  评论(0)    收藏  举报