fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. class Solution {
  6. public:
  7. int magicalString(int n) {
  8. vector<int> a={1,2,2,1}, b;
  9. while(a.size()<100000){
  10. b.clear();
  11. int num=1;
  12. for(int i=0; i<a.size(); ++i){
  13. for(int r=0; r<a[i]; ++r) b.push_back(num);
  14. num=3-num;
  15. }
  16. a = b;
  17. }
  18. int res=0;
  19. for(int i=0; i<n; ++i) res+=(a[i]==1);
  20. return res;
  21. }
  22. };
  23.  
  24. int main() {
  25. Solution s;
  26. cout<<s.magicalString(100000)<<endl;
  27. return 0;
  28. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
49972