fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. using ll= long long;
  4.  
  5. void helper() {
  6. int n;
  7. cin>>n;
  8. vector<int> v(n);
  9. for(int i=0; i<n; i++) cin>>v[i];
  10. vector<int> odd(n);
  11. vector<int> even(n);
  12. if(v[0]%2==0) even[0]++;
  13. else odd[0]++;
  14. for(int i=1; i<n; i++){
  15. if(i-2>=0){
  16. if((v[i]%2)==0){
  17. odd[i]+=odd[i-2];
  18. even[i]+=even[i-2];
  19. }
  20. else{
  21. odd[i]+=even[i-2];
  22. even[i]+=odd[i-2];
  23. }
  24. }
  25. if((v[i]%2)==0){
  26. odd[i]+=odd[i-1];
  27. even[i]+=even[i-1];
  28. }
  29. else{
  30. odd[i]+=even[i-1];
  31. even[i]+=odd[i-1];
  32. }
  33. }
  34. for(int i=0; i<n; i++){
  35. cout<<odd[i]<<" ";
  36. }
  37. cout<<endl;
  38. for(int i=0; i<n; i++){
  39. cout<<even[i]<<" ";
  40. }
  41. cout<<endl;
  42. cout<<odd[n-1]<<endl;
  43. }
  44.  
  45. int main() {
  46. int t=1;
  47. // cin>>t;
  48. while(t--){
  49. helper();
  50. }
  51. return 0;
  52. }
  53.  
Success #stdin #stdout 0s 5248KB
stdin
5
2 3 5 8 10
stdout
0 1 1 2 3 
1 0 1 1 2 
3