fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <deque>
  4. #include <utility>
  5. #include <stack>
  6. #include <queue>
  7. #include <algorithm>
  8. #define el '\n'
  9. #define ll long long
  10. using namespace std ;
  11.  
  12. int main()
  13. {
  14. /*==============================================*/
  15. //! odd and even problem with array
  16. //! You are given an array of size n print
  17. //! the number of even numbers and the even numbers and
  18. //! the number of odd numbers and the odd numbers
  19.  
  20. // int n = 10 ;
  21. // int a[n] ;
  22. // for ( int i = 0 ; i < n ; i ++ )
  23. // cin >> a[i] ;
  24.  
  25. // int even_counter = 0 , odd_counter = 0 ;
  26. // int even_nums[n] , odd_nums[n] ;
  27.  
  28. // for ( int i = 0 ; i < n ; i ++ )
  29. // {
  30. // if ( a[i] % 2 == 0 )
  31. // {
  32. // even_nums[i] = a[i] ;
  33. // even_counter ++ ;
  34. // }
  35. // else
  36. // {
  37. // odd_nums[i] = a[i] ;
  38. // odd_counter ++ ;
  39. // }
  40. // }
  41.  
  42. // cout << even_counter << ' ' << odd_counter << el ;
  43.  
  44. // for ( int i = 0 ; i < even_counter ; i ++ ) cout << even_nums[i] << ' ' ;
  45. // cout << el ;
  46. // for ( int i = 0 ; i < odd_counter ; i ++ ) cout << odd_nums[i] << ' ' ;
  47.  
  48.  
  49.  
  50. /*==============================================*/
  51. //? What is the vector ?
  52. //! vecor = arry with dynamic size
  53. //? How to declare vector ?
  54. //? vector < data type > name ;
  55. // vector < int > v = { 1 , 2 , 3 , 4 , 5 } ;
  56. // for ( int i = 0 ; i < 5 ; i ++ )
  57. // cout << v[i] << ' ' ;
  58.  
  59. // vector < string > v2 (3) ;
  60. // for ( int i = 0 ; i < 3 ; i ++ ) cin >> v2[i] ;
  61. // for ( int i = 0 ; i < 3 ; i ++ ) cout << v2[i] << ' ' ;
  62. //? vector built-in functions :
  63. //! 1 second = 1e8
  64. // for ( int i = 0 ; i < 5 ; i ++ ) cout << "Hi" << el ; O(5)
  65. // cout << "ramy" << el ; O(1) ;
  66. // 1 <= n <= 1e8
  67. // vector < int > v (n) ; O(log(n) ) ;
  68.  
  69.  
  70. //? push_back() O(1)
  71. // vector < int > v ;
  72. // ll n = 5 ;
  73. // for ( int i = 0 ; i < n ; i ++ )
  74. // {
  75. // int x ; cin >> x ;
  76. // v.push_back(x) ;
  77. // }
  78. // for ( int i = 0 ; i < n ; i ++ )
  79. // {
  80. // cout << v[i] << ' ' ;
  81. // }
  82. //? pop_back() O(1)
  83. // vector < int > v = { 1 , 4 , 5 , 12 , 3 } ;
  84. // for ( int i = 0 ; i < 5 ; i ++ )
  85. // cout << v[i] << ' ' ;
  86. // cout << el ;
  87. // v.pop_back() ;
  88. // for ( int i = 0 ; i < 4 ; i ++ )
  89. // cout << v[i] << ' ' ;
  90. // cout << el ;
  91. // v.pop_back() ;
  92. // for ( int i = 0 ; i < 3 ; i ++ )
  93. // cout << v[i] << ' ' ;
  94. // cout << el ;
  95. // v.pop_back() ;
  96. // for ( int i = 0 ; i < 2 ; i ++ )
  97. // cout << v[i] << ' ' ;
  98. // cout << el ;
  99. // v.pop_back() ;
  100. // for ( int i = 0 ; i < 1 ; i ++ )
  101. // cout << v[i] << ' ' ;
  102. // cout << el ;
  103. // v.pop_back() ;
  104. // for ( int i = 0 ; i < 0 ; i ++ )
  105. // cout << v[i] << ' ' ;
  106. // cout << el ;
  107.  
  108. // v.pop_back() ;
  109.  
  110. //? size() , empty() O(1)
  111. // vector < int > v = { 1 , 4 , 5 , 12 , 3 } ;
  112. // if ( v.size() != 0 ) v.pop_back() ;
  113. // vector < int > v2 ;
  114. // if ( !v.empty() ) cout << " THE vector is empty " << el ;
  115. //? front() , back() O(1)
  116. // vector < int > v = { 1 , 4 , 5 , 12 , 3 } ;
  117. // ll n = 5 ;
  118. // vector < int > v2( n , -1 ) ;
  119. // for ( int i = 0 ; i < n ; i ++ ) cout << v2[i] << ' ' ;
  120. // cout << el ;
  121. // cout << v[0] << ' ' << v[4] << el ;
  122. // cout << v.front() << ' ' << v.back() << el ;
  123.  
  124. //? begin() , end() --> O(1) , sort() O( n * log n ) and reverse() O(n)
  125. // vector size = 1e8 --> 1e8 * 26
  126. // vector < int > v = { 1 , 4 , 5 , 12 , 3 } ;
  127. // cout << v[v.size()] << el ;
  128. // cout << *( v.begin() + 2 ) << ' ' << * ( v.end() - 1 ) << el ;
  129.  
  130. // sort ( v.begin() , v.end() , greater <int>() ) ;
  131. // for ( int i = 0 ; i < v.size() ; i ++ )
  132. // cout << v[i] << ' ' ;
  133. // cout << el ;
  134. // reverse ( v.begin() , v.end() ) ;
  135. // for ( int i = 0 ; i < v.size() ; i ++ )
  136. // cout << v[i] << ' ' ;
  137. //? insert() O(n) , erase() O(n)
  138. // vector < int > v = { 1 , 4 , 5 , 12 , 3 } ;
  139. // v.insert( v.begin() + 3 , 5 ) ;
  140. // for ( int i = 0 ; i < v.size() ; i ++ ) cout << v[i] << ' ' ;
  141. // cout << el ;
  142. // v.erase ( v.begin() ) ;
  143. // v.erase ( v.begin() + 1 , v.begin() + 3 ) ;
  144. // for ( int i = 0 ; i < v.size() ; i ++ ) cout << v[i] << ' ' ;
  145. //? unique() O ( n * log n + n + n )
  146. // vector < int > v = { 1 , 1 , 1 , 2 ,5 , 2 , 7 , 9 , 1 , 2 } ;
  147. // sort ( v.begin() , v.end() ) ;
  148. // for ( int i = 0 ; i < v.size() ; i ++ ) cout << v[i] << ' ' ;
  149. // cout << el ;
  150. // v.erase ( unique ( v.begin() , v.end() ) , v.end() ) ;
  151. // for ( int i = 0 ; i < v.size() ; i ++ ) cout << v[i] << ' ' ;
  152. // cout << el ;
  153. //? + advantage O(N)
  154. // vector < int > v = { 1 , 1 , 1 , 1 }, v2 = { 1 , 1 , 1 } ;
  155. // for ( int i = 0 ; i < v.size() ; i ++ ) cout << v[i] << ' ' ;
  156. // cout << el ;
  157. // // v = v2 ;
  158. // for ( int i = 0 ; i < v.size() ; i ++ ) cout << v[i] << ' ' ;
  159. // cout << el ;
  160.  
  161.  
  162. //? odd and even problem with vector
  163. //! O ( n + n + n ) O (3n) = O(n)
  164. // ll n ; cin >> n ;
  165. // vector < int > v (n) ;
  166. // for ( int i = 0 ; i < n ; i ++ ) cin >> v[i] ;
  167.  
  168.  
  169. // vector < int > even , odd ;
  170.  
  171. // for ( int i = 0 ; i < n ; i ++ )
  172. // {
  173. // if ( v[i] % 2 == 0 )
  174. // {
  175. // even.push_back(v[i]) ;
  176. // }
  177. // else
  178. // odd.push_back(v[i]) ;
  179. // }
  180.  
  181. // cout << even.size() << el ;
  182. // for ( int i = 0 ; i < even.size() ; i ++ ) cout << even[i] << ' ' ;
  183. // cout << el ;
  184. // cout << odd.size() << el ;
  185. // for ( int i = 0 ; i < odd.size() ; i ++ ) cout << odd[i] << ' ' ;
  186. // cout << el ;
  187.  
  188. /*==============================================*/
  189. //* What is the deque ?
  190. //! deque = v + push_front() + pop_front()
  191. //! O(1)
  192. //* How to declare deque ?
  193. // deque < int > dq ;
  194. // for ( int i = 0 ; i < 5 ; i ++ )
  195. // {
  196. // ll x ; cin >> x ;
  197. // dq.push_back(x) ;
  198. // }
  199. // for ( int i = 0 ; i < 5 ; i ++ )
  200. // {
  201. // ll x ; cin >> x ;
  202. // dq.push_front(x) ;
  203. // }
  204. // //* deque built-in functions :
  205.  
  206. // //* push_front() and pop_front()
  207. // sort ( dq.rbegin() , dq.rend() ) ;
  208. // cout << dq.size() << el ;
  209. // dq.pop_front() ;
  210. // cout << dq.size() << el ;
  211. // dq.pop_back() ;
  212. // cout << dq.size() << el ;
  213.  
  214. // for ( int i = 0 ; i < dq.size() ; i ++ ) cout << dq[i] << ' ' ;
  215. // deque < int > dq2 = dq ;
  216. // for ( int i = 0 ; i < dq2.size() ; i ++ ) cout << dq2[i] << ' ' ;
  217.  
  218.  
  219.  
  220. /*==============================================*/
  221. //TODO what is the pair ?
  222.  
  223. //TODO How to declare pair ?
  224. // pair < string , int > p ;
  225. // p = { "Ahmed" , 5000 } ;
  226. // pair < int , int > p2 = { 1 , 3 } ;
  227. // pair < string , char > p3 ;
  228. // p3 = make_pair( "mohamed" , 'A' ) ;
  229.  
  230. //TODO pair built-in functions ?
  231.  
  232. //TODO first , second ?
  233. //! O(1)
  234. // cout << p.first << ' ' << p.second << el ;
  235. //TODO pair of pairs ?
  236. // pair < string , pair < double , char > > p = { "Ahmed" , { 3.77 , 'A' }} ;
  237. // cout << p.first << ' ' << p.second.first << ' ' << p.second.second << el ;
  238.  
  239.  
  240. //TODO pair + vector ?
  241. // for ( int i = 0 ; i < 5 ; i ++ )
  242. // {
  243. // cin >> v[i].first >> v[i].second ;
  244. // }
  245. // cout << el ;
  246. // for ( int i = 0 ; i < 5 ; i ++ )
  247. // cout << v[i].first << ' ' << v[i].second << el ;
  248. // sort ( v.rbegin() , v.rend() ) ;
  249. // for ( int i = 0 ; i < 5 ; i ++ )
  250. // cout << v[i].first << ' ' << v[i].second << el ;
  251. // cout << el ;
  252. // ahmed 2000
  253. // ramy 2000
  254. // mohamed 3000
  255. // ali 4000
  256. // khaled 5000
  257. //TODO compare function ?
  258. // vector < pair < string , int > > v(5) ;
  259. // for ( int i = 0 ; i < 5 ; i ++ ) cin >> v[i].first >> v[i].second ;
  260. // cout << el ;
  261. // sort ( v.begin() , v.end() , cmp ) ;
  262. // for ( int i = 0 ; i < 5 ; i ++ ) cout << v[i].first << ' ' << v[i].second << el ;
  263. // cout << el ;
  264.  
  265. /*==============================================*/
  266. //! break :)
  267. /*==============================================*/
  268. //? What is the stack ?
  269.  
  270. //? How to declare stack ?
  271. // stack < int > st ;
  272. // ll n = 5 ;
  273. // for ( int i = 0 ; i < n ; i ++ )
  274. // {
  275. // ll x ; cin >> x ;
  276. // st.push( x ) ;
  277. // }
  278. // cout << st.size() << el ;
  279.  
  280. // while ( !st.empty())
  281. // {
  282. // cout << st.top() << el ;
  283. // st.pop() ;
  284. // }
  285. // cout << st.size() << el ;
  286.  
  287. //? stack built-in functions :
  288. //? push() , pop() , top()
  289.  
  290. /*==============================================*/
  291. //* What is the queue ?
  292.  
  293. //* How to declare queue ?
  294. // queue < int > q ;
  295. // ll n = 5 ;
  296. // for ( int i = 0 ; i < n ; i ++ )
  297. // {
  298. // ll x ; cin >> x ;
  299. // q.push(x) ;
  300. // }
  301. // cout << q.size() << el ;
  302. // cout << q.front() << ' ' << q.back() << el ;
  303. // while ( !q.empty() )
  304. // {
  305. // cout << q.front() << el ;
  306. // q.pop() ;
  307. // }
  308. // cout << q.size() << el ;
  309.  
  310.  
  311. //* queue built-in functions :
  312. //* push() and pop()
  313. //* back() and front()
  314.  
  315. /*==============================================*/
  316. //TODO what is the priority_queue ?
  317.  
  318. //TODO How to declare priority_queue ?
  319. // priority_queue < int > pq ;
  320. // priority_queue < int , vector < int > , greater<int> > pq2 ;
  321.  
  322. // ll n = 5 ;
  323. // for ( int i = 0 ; i < 5 ; i ++ )
  324. // {
  325. // ll x ; cin >> x ;
  326. // pq.push(x) ;
  327. // pq2.push(x) ;
  328. // }
  329.  
  330. // while (!pq.empty())
  331. // {
  332. // cout << pq.top() << ' ' ;
  333. // pq.pop() ;
  334. // }
  335. // cout << el ;
  336. // while (!pq2.empty())
  337. // {
  338. // cout << pq2.top() << ' ' ;
  339. // pq2.pop() ;
  340. // }
  341.  
  342. //TODO priority_queue built-in functions ?
  343.  
  344. //TODO push() , pop() , top()
  345. //! O(log(n))
  346.  
  347. /*==============================================*/
  348. //* problems
  349. //* https://c...content-available-to-author-only...s.com/group/DtRtk7NkHg/contest/590124/problem/I
  350. //* https://c...content-available-to-author-only...s.com/group/DtRtk7NkHg/contest/590124/problem/H
  351. }
  352.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Standard output is empty