fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int n;
  7. cin >> n; // 5
  8.  
  9. int b[n+1]; // 1-based indexing
  10. for(int i = 1; i <= n; i++)
  11. {
  12. // index 1 2 3 4 5
  13. cin >> b[i]; // 2 6 2 3 5
  14. }
  15.  
  16. int start = 1;
  17. int end = n;
  18.  
  19. bool reversed = false; // Initially, no reversal // In starting no Number is reversed so we declare it as false
  20. int turn = 0;
  21. int p1 = 0;
  22. int p2 = 0;
  23. int selected = 0;
  24.  
  25. while(start <= end)
  26. {
  27. if(turn % 2 == 0) // p1's turn
  28. {
  29. if(reversed == false) // Initially, no reversal // In starting no Number is reversed so we declare it as false
  30. {
  31. p1 = p1 + b[start];
  32. selected = b[start];
  33. start++;
  34. }
  35. else
  36. {
  37. p1 = p1 + b[end];
  38. selected = b[end];
  39. end--;
  40. }
  41. }
  42. else // p2's turn
  43. {
  44. if(reversed == false) // Initially, no reversal // In starting no Number is reversed so we declare it as false
  45. {
  46. p2 = p2 + b[start];
  47. selected = b[start];
  48. start++;
  49. }
  50. else
  51. {
  52. p2 = p2 + b[end];
  53. selected = b[end];
  54. end--;
  55. }
  56. }
  57.  
  58. // Reverse the direction if the selected number is even
  59. if(selected % 2 == 0)
  60. {
  61. reversed = !reversed;
  62. }
  63.  
  64. turn++;
  65. }
  66.  
  67. cout << "p1: "<< p1 << " p2: " << p2 << endl;
  68. }
  69.  
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
p1: 1498661697 p2: 151391676