Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <cstdlib>
  4. #include <cstdio>
  5. #include <cctype>
  6. #include <cstring>
  7. #include <algorithm>
  8. #include <vector>
  9. #include <string>
  10. #include <map>
  11. #include <set>
  12. #include <iomanip>
  13.  
  14. #define pb push_back
  15. #define mp make_pair
  16. #define forn(i,n) for (int i = 0; i < n; i++)
  17.  
  18. using namespace std;
  19.  
  20. typedef pair <int, int> pii;
  21. typedef long double ld;
  22. typedef long long ll;
  23.  
  24. const ld EPS = 1e-9;
  25. const int INF = (int) 1e9;
  26. const int N = (int) 1e6 + 13;
  27. const ll M = (int) 1e9 + 7;
  28.  
  29. int sum[N], raz[N];
  30. int a[N];
  31. ld prob[N];
  32.  
  33. int main() {
  34. int n;
  35. cin >> n;
  36. for (int i = 0; i < n; i++)
  37. cin >> a[i];
  38. for (int i = 0; i < n; i++)
  39. for (int j = 0; j < n; j++)
  40. if (a[i] - a[j] > 0)
  41. raz[a[i] - a[j]]++;
  42. for (int i = 0; i < 5010; i++)
  43. for (int j = 0; j < 5010; j++)
  44. if (raz[i] && raz[j])
  45. sum[i + j]++, prob[i + j] = 1.0 * raz[i] * 1.0 / (n * (n - 1) / 2) * (raz[j] * 1.0 / (n * (n - 1) / 2));
  46.  
  47. ld ans = 0, cnt = 8.0 / (n * n * n * (n - 1) * (n - 1) * (n - 1));
  48. for (int i = 0; i < 5010; i++)
  49. for (int j = 0; j < 10010; j++)
  50. if (i - j < 0 && raz[i] && sum[j])
  51. ans += prob[j] * raz[i]*1.0 / (n * (n - 1) / 2);
  52. cout.precision(10);
  53. cout << fixed << ans;
  54.  
  55.  
  56. return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement