fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n;
  6. cin >> n;
  7.  
  8. int arr[n+1];
  9. for(int i=0; i<n; i++) {
  10. cin >> arr[i];
  11. }
  12.  
  13. int start = 0;
  14. int end = n-1;
  15. int turn = 1;
  16. bool reverse = false;
  17. int selected = 0;
  18. int p1 = 0, p2 = 0;
  19.  
  20. while(start <= end) {
  21. if(turn % 2 != 0) {
  22. // P1 turn
  23. if(reverse == false) {
  24. p1 = p1 + arr[start];
  25. selected = arr[start];
  26. start++;
  27. } else {
  28. p1 = p1 + arr[end];
  29. selected = arr[end];
  30. end--;
  31. }
  32. } else {
  33. // P2 turn
  34. if(reverse == false) {
  35. p2 = p2 + arr[start];
  36. selected = arr[start];
  37. start++;
  38.  
  39. } else {
  40. p2 = p2 + arr[end];
  41. selected = arr[end];
  42. end--;
  43. }
  44. }
  45. if(selected % 2 == 0) {
  46. if(reverse == false) {
  47. reverse = true;
  48. } else {
  49. reverse = false;
  50. }
  51. }
  52. turn++;
  53. }
  54. cout << "Score: "<< (p1 - p2);
  55. return 0;
  56. }
Success #stdin #stdout 0s 5320KB
stdin
5
1
6
3
2
5
stdout
Score: 1