MohamedAbdel3al

A. Team Olympiad

Oct 4th, 2021 (edited)
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std ;
  4. #define sz(s) int(s.size())
  5. #define all(s) s.begin() , s.end()
  6. #define getline(s) getline(cin >> ws, s)
  7. #define cin(v) for (auto& i : v) cin >> i ;
  8. #define cout(v) for (auto& i : v) cout << i << " "
  9. #define pb(x) push_back(x)
  10. #define ll long long
  11. #define ull unsigned long long
  12. #define Mod 1'000'000'007
  13. #define INF 2'000'000'000
  14. #define Num_of_Digits(n) ((int)log10(n)+1)
  15. #define fixed(n) fixed << setprecision(n)
  16. #define imin INT_MIN
  17. #define imax INT_MAX
  18. #define Time cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " Secs" << "\n" ;
  19.  
  20. void ABDEL3AL () {
  21. ios_base::sync_with_stdio(false); cin.tie(nullptr) , cout.tie(nullptr) ;
  22. #ifndef ONLINE_JUDGE
  23. freopen("input.txt" , "r" , stdin) , freopen("output.txt" , "w" , stdout) ;
  24. #endif
  25. Time
  26. }
  27.  
  28. int main() {
  29. ABDEL3AL() ;
  30. int n ; cin >> n ;
  31. int num = 0 ;
  32. vector < int > v(n) ; cin(v) ;
  33. vector < int > v1 , v2 , v3 ;
  34. set < int > st ;
  35. for (int i = 0; i < n; i++) {
  36. if (v[i] == 1) v1.push_back(i) ;
  37. else if (v[i] == 2) v2.push_back(i) ;
  38. else v3.push_back(i) ;
  39. }
  40. for (int i = 0; i < n; i++) {
  41. st.insert({v1[i] , v2[i] , v3[i]}) ;
  42. if (sz(st) % 3 == 0) num++ ;
  43. else break ;
  44. }
  45. if (num > 0) {
  46. cout << num << "\n" ;
  47. for (int i = 0; i < num; i++) cout << v1[i] << " " << v2[i] << " " << v3[i] << "\n" ;
  48. } else {
  49. cout << num ;
  50. }
  51.  
  52.  
  53. return 0;
  54. }
  55.  
  56.  
  57.  
  58.  
Add Comment
Please, Sign In to add comment