fork(3) download
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. int main() {
  5.  
  6.  
  7. int a[101], ans[4], n = 0, max1 = 0, max1n[5], max2 = 0, max2n[5], x = 0;
  8.  
  9. //inp >> n;
  10. n = 6;
  11. if (n == 4) {
  12. cout << 1 << ' ' << 2 << ' ' << 3 << ' ' << 4;
  13. return 0;
  14. }
  15.  
  16. /*for (int i = 0; i < n; i++) {
  17. inp >> a[i];
  18. }*/
  19. a[4] = 51;
  20. a[5] = 1;
  21. a[0] = 53;
  22. a[1] = 55;
  23. a[2] = 57;
  24. a[3] = 53;
  25.  
  26. for (int i = 0; i < n; i++)
  27. cout << a[i]<<' ';
  28. cout <<endl;
  29.  
  30. for (int i = 0; i < n - 1; i++) {
  31. x = a[i] + a[i + 1];
  32. if (x > max1) {
  33. max1 = x;
  34. max1n[0] = i;
  35. max1n[1] = i + 1;
  36. }
  37. }
  38.  
  39. x = 0;
  40.  
  41. for (int i = 0; i < n - 1; i++) {
  42. x = a[i] + a[i + 1];
  43. if (i != max1n[0] && i + 1 != max1n[0] && i != max1n[1] && i + 1 != max1n[1]) {
  44. if (x > max2) {
  45. max2 = x;
  46. max2n[0] = i;
  47. max2n[1] = i + 1;
  48. }
  49. }
  50. else {//если числа пересекаются
  51. if(i+1 == max1n[0] && i+3<n){
  52. x = a[i] + a[i+1] + a[i+2] + a[i+3];//смотрю сумму после сдвига
  53. if (x>max1+max2){//если она мне нравится
  54. max1n[0] = i;//записываю как текущий результат
  55. max1n[1] = i+1;
  56. max2n[0] = i+2;
  57. max2n[1] = i+3;
  58. }
  59. }
  60. }
  61. }
  62. cout << max1n[0] + 1 << " " << max1n[1] + 1 << " " << max2n[0] + 1 << " " << max2n[1] + 1;
  63.  
  64.  
  65. return 0;
  66. }
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
53 55 57 53 51 1 
1 2 3 4