fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long int
  4.  
  5. signed main()
  6. {
  7.  
  8. int n, i, x, y, ok = 0, c = 0;
  9.  
  10. cin >> n;
  11. int a1[50];
  12.  
  13. a1[4] = 0, a1[8] = 1, a1[15] = 2;
  14. a1[16] = 3, a1[23] = 4, a1[42] = 5;
  15.  
  16. set<int> s[6];
  17.  
  18. vector<int> a(n, 0);
  19.  
  20. for (i = 0; i < n; i++)
  21. {
  22. cin >> a[i];
  23. s[a1[a[i]]].insert(i);
  24. }
  25.  
  26. while (1)
  27. {
  28. if (s[0].size() == 0)
  29. break;
  30.  
  31. x = *(s[0].begin());
  32. s[0].erase(x);
  33.  
  34. for (i = 1; i < 6; i++)
  35. {
  36. if ((int)s[i].size() == 0)
  37. {
  38. ok = 1;
  39. break;
  40. }
  41. auto it = s[i].upper_bound(x);
  42.  
  43. if (it == s[i].end())
  44. {
  45. ok = 1;
  46. break;
  47. }
  48. x = *it;
  49. s[i].erase(it);
  50. }
  51.  
  52. if (ok == 1)
  53. break;
  54.  
  55. c += 6;
  56. }
  57.  
  58. cout << n - c << endl;
  59. }
Success #stdin #stdout 0.01s 5520KB
stdin
100
4 42 23 23 8 42 16 23 42 16 42 8 4 23 4 4 23 42 16 42 23 23 23 42 4 42 8 8 16 23 15 23 16 4 42 15 15 23 16 15 16 4 4 15 23 42 42 15 8 23 8 23 4 15 16 15 42 8 23 16 15 42 23 8 4 16 15 16 23 16 16 4 23 16 8 23 16 15 23 4 4 8 15 4 4 15 8 23 23 4 4 8 8 4 42 15 4 4 42 16
stdout
64