#include<iostream> #include<cmath> #include<algorithm> #include<cstring> #include<string> #include<stack> #include<queue> #include<map> #include<cstdlib> #include<set> #include<ctime> #include<vector> #include<cstdio> #include<list> using namespace std; typedef long long ll; int INF=2147483647; int inf=-2147483648; #define read(x) scanf("%d",&x); #define fo(i,n) for(int i=1;i<=(n);i++) #define me(a) memset(a,0,sizeof(a)); #define one(x) cout<<(x)<<endl; #define two(a,b) cout<<(a)<<" "<<(b)<<endl; int a[100005]; int main() { ios::sync_with_stdio(false); int n; vector<int>q; cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; q.push_back(a[i]); } sort(q.begin(),q.end()); q.erase(unique(q.begin(),q.end()),q.end()); if(q.size()<=2||(q.size()==3&&q[2]-q[1]==q[1]-q[0])) { one("YES"); } else { one("NO"); } return 0; }
#include<iostream> #include<cmath> #include<algorithm> #include<cstring> #include<string> #include<stack> #include<queue> #include<map> #include<cstdlib> #include<set> #include<ctime> #include<vector> #include<cstdio> #include<list> using namespace std; typedef long long ll; int INF=2147483647; int inf=-2147483648; #define read(x) scanf("%d",&x); #define fo(i,n) for(int i=1;i<=(n);i++) #define me(a) memset(a,0,sizeof(a)); #define one(x) cout<<(x)<<endl; #define two(a,b) cout<<(a)<<" "<<(b)<<endl; int a[100005]; int main() { ios::sync_with_stdio(false); int n; cin>>n; set<int>q; for(int i=0;i<n;i++) { cin>>a[i]; q.insert(a[i]); } if(q.size()<=2) { one("YES"); } else if(q.size()>3) { one("NO"); } else { int a=*q.begin(); int b=*(++q.begin()); int c=*(++++q.begin()); if(c-b==b-a) { one("YES"); } else { one("NO"); } } return 0; }