Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <cstdio>
  3. #include <string>
  4. #include <vector>
  5. #include <algorithm>
  6. #include <memory.h>
  7. #include <cmath>
  8. #include <map>
  9. #include <set>
  10. #include <queue>
  11. #include <stack>
  12. #include <ctime>
  13. #include <iostream>
  14. #include <functional>
  15. #include <complex>
  16.  
  17. using namespace std;
  18.  
  19. typedef long long ll;
  20. typedef pair<int, int> pii;
  21. typedef pair<double, double> pdd;
  22. typedef pair<pii, int> p3i;
  23. typedef vector<int> vi;
  24. typedef vector<ll> vll;
  25. typedef vector<vll> vvll;
  26. typedef vector<pii> vii;
  27. typedef vector<p3i> v3i;
  28. typedef vector<vii> vvii;
  29. typedef vector<p3i> vp3i;
  30. typedef long double ld;
  31. typedef vector<ld> vld;
  32. typedef vector<pii> vpii;
  33.  
  34. #define pb push_back
  35. #define mp make_pair
  36. #define REP(i, n) for (int (i) = 0; (i) < (n); (i)++)
  37. #define REPD(i, n) for (int (i) = (n) - 1; (i) >= 0; (i)--)
  38. #define FOR(i, a, b) for (int (i) = (a); (i) < (b); (i)++)
  39. #define FORD(i,a, b) for (int (i) = (a); (i) >= (b); (i)--)
  40. #define sz(v) (int)(v).size()
  41. #define all(v) (v).begin(), (v).end()
  42. #define rv(v) reverse(all(v))
  43. #define CL(v, val) memset((v), (val), sizeof((v)))
  44. #define SORT(a) sort(all(a))
  45. #define un(v) SORT(v), (v).resize(unique(all(v)) - (v).begin())
  46. #define eps 1.0e-7
  47. #define X first
  48. #define Y second
  49. #define bit(n) (1 << (n))
  50. #define bit64(n) (ll(1) << (n))
  51. #define sqr(n) ((n) * (n))
  52. #define INF 300000005
  53. #define MAXN 1000000
  54.  
  55. int main()
  56. {
  57. int n;
  58. scanf("%d", &n);
  59. vll arr;
  60. REP(i, n)
  61. {
  62. ll tmp;
  63. scanf("%lld", &tmp);
  64. arr.pb(tmp);
  65. }
  66. SORT(arr);
  67. stack<ll> s;
  68. s.push(arr[0]);
  69. s.push(arr[1]);
  70. FOR(i, 2 , sz(arr))
  71. {
  72. if (sz(s) == 1)
  73. {
  74. s.push(arr[i]);
  75. continue;
  76. }
  77. ll tmp = s.top();
  78. s.pop();
  79. if (tmp - s.top() == arr[i] - tmp)
  80. {
  81. i--;
  82. }
  83. else
  84. {
  85. s.push(tmp);
  86. s.push(arr[i]);
  87. }
  88. }
  89. if (sz(s) == 2)
  90. {
  91. printf("YES");
  92. }
  93. else
  94. {
  95. printf("NO");
  96. }
  97. return 0;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement