Advertisement
Guest User

flipped

a guest
Feb 6th, 2021
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. ld mean[MX], stdev[MX];
  2.  
  3. ld prob(int r, ld val) {
  4. ld res = -log(4 * acos(0.0)) / 2; res -= log(stdev[r]);
  5. res -= ((val-mean[r])/stdev[r]) * ((val-mean[r])/stdev[r]) / 2;
  6. return res;
  7. }
  8.  
  9. void solve() {
  10.  
  11. int N; cin >> N;
  12. int M; cin >> M;
  13. int B; cin >> B;
  14. ld A[N][M]; F0R(i, N) F0R(j, M) cin >> A[i][j];
  15. F0R(i, M) {
  16. F0R(j, N) {
  17. mean[i] += A[j][i];
  18. }
  19. mean[i] /= N;
  20. F0R(j, N) {
  21. stdev[i] += (A[j][i] - mean[i]) * (A[j][i] - mean[i]);
  22. }
  23. stdev[i] /= N;
  24. stdev[i] = sqrt(stdev[i]);
  25. }
  26.  
  27. vector<pair<ld, int> > vals;
  28. F0R(i, N) {
  29. ld p1 = 0, p2 = 0;
  30. F0R(j, M) {
  31. p1 += prob(j, A[i][j]);
  32. p2 += prob(j, A[i][M-1-j]);
  33. }
  34. vals.pb({p1-p2, i});
  35. }
  36. sort(all(vals));
  37. F0R(i, B) {
  38. cout << vals[i].s + 1 << nl;
  39. }
  40.  
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement