fork download
  1. #include <iostream>
  2. using namespace std;
  3. /*
  4. Pasii de implementare:
  5. Declarăm variabilele “n”, “x”, “y” si variabila “currentNo”.
  6. Citim “n”, “x” si “y” de la tastatura.
  7. Declaram variabilele “sumA”, “sumB”, “sumC” si “sumD” pe care le initializam cu valoarea zero.
  8. Cu o structura repetitiva care ruleaza “n” pasi:
  9. Citim variabila “currentNo”.
  10. Cu o structura decizionala verificam daca poziția indexului e cuprinsa intre “x” si “y”.
  11. Daca se indeplineste aceasta conditie, atunci calculăm suma indicilor(sumA) cat și suma elementelor de pe aceste poziții(sumC).
  12. Dacă nu se îndeplinesc aceste condiții, atunci calculăm suma indicilor aflați în afara intervalului “x” și “y”(sumB) cât și suma elementelor aflate pe acele poziții(sumD).
  13.  
  14. Dacă suma dintre “sumA” și “sumD” este mai mare decat suma dintre “sumB” si “sumC” atunci afisam suma dintre “sumA” și “sumD”. Altfel, afisam suma dintre “sumB” si “sumC”.
  15. */
  16.  
  17. const int MAX_LENGTH = 20;
  18.  
  19. int main() {
  20. int n, x, y, v[MAX_LENGTH + 1];
  21. cin >> n >> x >> y;
  22. int sumA = 0, sumB = 0, sumC = 0, sumD = 0;
  23. for (int i = 1; i <= n; ++i) {
  24. cin >> v[i];
  25. if (i >= x && i <= y) {
  26. sumA += i;
  27. sumC += v[i];
  28. } else {
  29. sumB += i;
  30. sumD += v[i];
  31. }
  32. }
  33. if (sumA + sumD > sumB + sumC) {
  34. cout << sumA + sumD;
  35. } else {
  36. cout << sumB + sumC;
  37. }
  38. return 0;
  39. }
Success #stdin #stdout 0.01s 5288KB
stdin

20 10 15
-100 0 100 5 5 5 -1 -1 -3 2 4 6 25 -25 0 0 0 0 0 0
 -> 147  (75, 135, 12, 10)
stdout
147