fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
  5. #define pb push_back
  6. #define alls(x) x.begin(), x.end()
  7. #define sz(x) (int)(x.size())
  8. #define forn(i,n) for(int i=0; i<int(n); i++)
  9. #define rep(i,n) for(int i=1; i<=int(n); i++)
  10. #define inc(i,l,r,d) for(int i=l; i<=r; i+=d)
  11. #define dec(i,r,l,d) for(int i=r; i>=l; i-=d)
  12. #define dbg(x) cerr << #x << " = " << x << endl;
  13. #define nl cout << "\n";
  14. #define sp cout << " ";
  15. #define pii pair<int, int>
  16. #define pll pair<ll, ll>
  17. #define vll vector<ll>
  18. #define vi vector<int>
  19. const ll inf = 1e16;
  20. const ll mod = 998244353;
  21. const ll mod1 = 1e9 + 87;
  22. const ll mod2 = 127397154761;
  23. ll gcd(ll a, ll b) {if (b == 0) return a; return gcd(b, a % b);}
  24. ll lcm(ll a, ll b) {return a * b / gcd(a, b);}
  25. ll sum(ll a, ll b) {a += b; if (a >= mod) a -= mod; return a;}
  26. ll sub(ll a, ll b) {a -= b; if (a < 0) a += mod; return a;}
  27. ll mul(ll a, ll b) {return a * b % mod;}
  28.  
  29.  
  30. //========================================
  31. //Author: Muntazir Ali
  32. //Institution: IIIT JABALPUR
  33. //========================================
  34.  
  35. void ali(){
  36. int n;
  37. cin >> n;
  38. vi a(n);
  39. for(int &x : a) cin >> x;
  40. int d= n*n-1;
  41. int p = n*a[n-1]-a[0];
  42. int q = n*a[0]-a[n-1];
  43. if(p<0 || p%d || q%d) { cout << "NO\n"; return; }
  44. int x = p/d, y = q/d;
  45. for (int i=0; i<n; i++) if (a[i]!= x*(i+1)+y*(n-i)) { cout << "NO\n"; return; }
  46. cout << "YES" << endl;
  47. }
  48. int main(){
  49. fast
  50. int t;
  51. cin >> t;
  52. while(t--){
  53. ali();
  54. }
  55. return 0;
  56. }
Success #stdin #stdout 0.01s 5288KB
stdin
6
4
3 6 6 3
5
21 18 15 12 9
10
2 6 10 2 5 5 1 2 4 10
7
10 2 16 12 8 20 4
2
52 101
2
10 2
stdout
NO
YES
NO
NO
YES
NO