Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.68 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. typedef long long ll;
  6. typedef long double ld;
  7.  
  8. //#define _GLIBCXX_DEBUG
  9. #define sz(x) ((long long)(x).size())
  10. #define all(x) (x).begin(), (x).end()
  11. #define rall(x) (x).rbegin(), (x).rend()
  12. #define sp(x, y) fixed << setprecision((y)) << x
  13. #define pb push_back
  14. #define ff first
  15. #define ss second
  16.  
  17. const ld eps = 1e-9;
  18. const ll mod = 1e9 + 7;
  19. mt19937_64 rnd(time(0));
  20.  
  21. void faster()
  22. {
  23. cin.tie(nullptr);
  24. cout.tie(nullptr);
  25. ios::sync_with_stdio(false);
  26. }
  27.  
  28. // МЕМ ДЛЯ АРТЕМА ГДЕ ТО ТУТ....
  29. vector <ll> p;
  30. vector <ll> s;
  31. ll get_p(ll v)
  32. {
  33. if (p[v] == v)
  34. return v;
  35. return p[v] = get_p(p[v]);
  36. }
  37. void union_(ll a, ll b)
  38. {
  39. a = get_p(a);
  40. b = get_p(b);
  41. if (a == b)
  42. return;
  43. if (s[a] > s[b])
  44. {
  45. p[b] = a;
  46. s[a] += s[b];
  47. } else
  48. {
  49. p[a] = b;
  50. s[b] += s[a];
  51. }
  52. }
  53. vector <ll> p_;
  54. vector <ll> s_;
  55. ll get_p_(ll v)
  56. {
  57. if (p_[v] == v)
  58. return v;
  59. return p_[v] = get_p_(p_[v]);
  60. }
  61. void union__(ll a, ll b)
  62. {
  63. a = get_p_(a);
  64. b = get_p_(b);
  65. if (a == b)
  66. return;
  67. if (s_[a] > s_[b])
  68. {
  69. p_[b] = a;
  70. s_[a] += s_[b];
  71. } else
  72. {
  73. p_[a] = b;
  74. s_[b] += s_[a];
  75. }
  76. }
  77. int main(){
  78. //faster();
  79. //freopen("salesman.in", "r", stdin);
  80. //freopen("salesman.out", "w", stdout);
  81. ll n;
  82. cin >> n;
  83. n--;
  84. ll sq = sqrt(n / 4);
  85. n = n - (sq * sq * 4);
  86. if (sq % 2 == 1)
  87. {
  88. if (sq * 4 + 4 > n)
  89. {
  90. if (n % 4 == 0)
  91. {
  92. cout << n / 4 * 2 + 1 << " " << sq * 2 + 1;
  93. }
  94. else if (n % 4 == 1)
  95. {
  96. cout << n / 4 * 2 + 1 << " " << sq * 2 + 2;
  97. }
  98. else if (n % 4 == 2)
  99. {
  100. cout << n / 4 * 2 + 2 << " " << sq * 2 + 2;
  101. } else
  102. {
  103. cout << n / 4 * 2 + 2 << " " << sq * 2 + 1;
  104. }
  105. }
  106. else
  107. {
  108. ll a = sq * 2;
  109. ll b = (sq - (n - 4 * (sq + 1)) / 4 - 1) * 2;
  110. if (n % 4 == 0)
  111. {
  112. cout << a + 2 << " " << b + 2;
  113. }
  114. else if (n % 4 == 1)
  115. {
  116. cout << a + 1 << " " << b + 2;
  117. }
  118. else if (n % 4 == 2)
  119. {
  120. cout << a + 1 << " " << b + 1;
  121. }
  122. else
  123. {
  124. cout << a + 2 << " " << b + 1;
  125. }
  126. }
  127. }
  128. else
  129. {
  130. if (sq * 4 + 4 > n)
  131. {
  132. if (n % 4 == 0)
  133. {
  134. cout << sq * 2 + 1 << " " << n / 4 * 2 + 1;
  135. }
  136. else if (n % 4 == 1)
  137. {
  138. cout << sq * 2 + 2 << " " << n / 4 * 2 + 1;
  139. }
  140. else if (n % 4 == 2)
  141. {
  142. cout << sq * 2 + 2 << " " << n / 4 * 2 + 2;
  143. } else
  144. {
  145. cout << sq * 2 + 1 << " " << n / 4 * 2 + 2;
  146. }
  147. }
  148. else
  149. {
  150. ll a = (sq - (n - 4 * (sq + 1)) / 4 - 1) * 2;
  151. ll b = sq * 2;
  152. if (n % 4 == 0)
  153. {
  154. cout << a + 2 << " " << b + 2;
  155. }
  156. else if (n % 4 == 1)
  157. {
  158. cout << a + 2 << " " << b + 1;
  159. }
  160. else if (n % 4 == 2)
  161. {
  162. cout << a + 1 << " " << b + 1;
  163. }
  164. else
  165. {
  166. cout << a + 1 << " " << b + 2;
  167. }
  168. }
  169. }
  170. return 0;
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement