Advertisement
MaxObznyi

editorial

Jun 11th, 2022
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. ///Problem C
  8. for (int l = 0; l < n; l++) {
  9. int cur_sum = 0;
  10. for (int r = l; r < n; r++) {
  11. cur_sum += a[r];
  12. if (cur_sum == 0) {
  13. cout << l << ' ' << r << endl;
  14. }
  15. }
  16. }
  17.  
  18. ///Problem D
  19. ///pref[i] = a[0] + a[1] + ... + a[i]
  20. ///pref[i] = pref[i - 1] + a[i]
  21. ///a[l] + a[l + 1] + ... + a[r] = pref[r] - pref[l - 1] = 0
  22. ///for r = 0..n
  23. /// if there is such l <= r so that pref[l - 1] = pref[r] ??
  24.  
  25. map<int, bool> was;
  26. was[0] = 0;
  27. int cur_sum = 0;
  28. for (int r = 0; i < n; i++) {
  29. cur_sum += a[r];
  30. if (was[cur_sum]) {
  31. cout << was[cur_sum] << ' ' << r << endl;
  32. return 0;
  33. }
  34. was[cur_sum] = r;
  35. }
  36.  
  37. ///Problems E-F
  38. ///1. calculate number of L's = x
  39. ///2. calculate number of R's among first x elements = y
  40. ///3. y is the answer
  41. ///[] [] [R] [] [R] [] ... [] [] []
  42.  
  43.  
  44. ///problem H
  45. ///Dijkstra
  46.  
  47. ///problem I
  48. ///1. If the size of the clique (n / 2) => approx. (n/2)^2 edges
  49. ///2.1. DSU
  50. ///2.2. clique 2 (v1, v2, v3) => add c2, connect it with v1, v2, v3
  51. /// v1 with v2, v1 with v3
  52. return 0;
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement