Advertisement
Hydron

Untitled

Jan 1st, 2022
955
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.41 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. #pragma GCC optimize ("O3")
  4. #pragma GCC optimize ("Ofast")
  5. #pragma GCC optimize ("unroll-loops")
  6.  
  7. #define I first
  8. #define II second
  9. #define ver1 v*2+1
  10. #define ver2 ver1+1
  11. #define tm (tl+tr)/2
  12. #define all(v) v.begin(),v.end()
  13. #define pairrev(v) swap(v.first,v.second)
  14. #define pairprint(v) cout<<v.first<<' '<<v.second<<endl;
  15. #define accelerate ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
  16.  
  17. using namespace std;
  18.  
  19. typedef int ll;
  20. typedef long double ld;
  21. typedef pair<ll,ll> pairll;
  22. typedef unsigned long long ull;
  23.  
  24. const ll DIM = 101;
  25. const ll MOD = 1e9+7;
  26.  
  27. int main(){
  28.     ll t;
  29.     scanf("%d", &t);
  30.     while(t --){
  31.         ll n;
  32.         scanf("%d", &n);
  33.         double a[n+1];
  34.         for (ll i=1; i<=n; i++) scanf("%lf", &a[i]);
  35.         ll ans = n;
  36.         if (n < 3) ans = 0;
  37.         for (ll i=1; i<n; i++){
  38.             for (ll j=i+1; j<=n; j++){
  39.                 ll cnt = 0;
  40.                 long double d = (a[j] - a[i]) / ((ld)(j - i));
  41.                 long double first = a[i] - ((ld)(i-1)) * ((a[j] - a[i]) / ((ld)(j - i)));
  42.                 for (ll k=1; k<=n; k++){
  43.                     if (first + ((ld)(k-1))*d != a[k]) cnt ++;
  44.                 }
  45.                 ans = min(ans, cnt);
  46.                 if (ans == 0) break;
  47.             }
  48.             if (ans == 0) break;
  49.         }
  50.         cerr << "////";
  51.         printf("%d\n", ans);
  52.     }
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement