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;