Răspuns :
#include <fstream>
using namespace std;
int main()
{
ifstream fin("maxsim.in");
ofstream fout("maxsim.out");
int v[1001],n,i,s=0,j,k;
fin>>n;
for (i=1;i<=n;i++){
fin>>v[i]; } i=n/2;
while (i!=0){
if (v[i]+v[n-i+1]>=s){
s=v[i]+v[n-i+1];
j=v[i];k=v[n-i+1];
}
i--;
}
fout<<s<<" "<<j<<" "<<k;
return 0;
}
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("maxsim.in");
ofstream fout ("maxsim.out");
int main()
{
int n, x[1001], smax = -1, ia, ib;
fin >> n;
for(int i =1; i<= n; i++)
fin >> x[i];
for(int i =1; i<= n / 2; i++)
{
int a = x[i], b = x[n-i + 1]; //elemente egal depărtate de centru
if(a + b > smax)
smax = a + b, //de suma maxima
ia = i, ib=n-i+1; // pozițiile elementelor din pereche
}
fout<<smax<<" "<<ia<<" "<<ib;
return 0;
}
Explicație: