#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector <int> v(n);
for(int i = 0; i < n; i++) {
cin >> v[i];
}
int a, b, c, d; //1, 2 макс.; 1, 2 мин.
a = c = v[0];
b = d = v[1];
if(a > b) swap(a, b);
if(c > d) swap(c, d);
for(int i = 2; i < n; i++) {
if(v[i] > a) {
if(a > b) b = a;
a = v[i];
} else if(v[i] > b) {
b = v[i];
}
if(v[i] < c) {
d = c;
c = v[i];
} else if(v[i] < d) {
d = v[i];
}
}
if(a > b) swap(a, b);
if(c > d) swap(c, d);
if(a * b > c * d) cout << a << " " << b;
else cout << c << " " << d;
}
Объяснение:
Как то так
826178 827557
865748 867498
280514 283175
199991 200002
304502 306027
Объяснение:
Задачка интересная смог решить только методом перебора
(Закономерностей не выявил)
состряпал функцию для Excel
Function Sleft(s As Variant) 'для левых счастливых чисел
For i = 1 To s
s = s - i
ls = CInt(Mid(s, 1, 1)) + CInt(Mid(s, 2, 1)) + CInt(Mid(s, 3, 1))
rs = CInt(Mid(s, 4, 1)) + CInt(Mid(s, 5, 1)) + CInt(Mid(s, 6, 1))
If ls = rs Then Exit For
Next
Sleft = s
End Function
Function SRight(s As Variant) 'для правых счастливых чисел
For i = 1 To s
s = s + i
ls = CInt(Mid(s, 1, 1)) + CInt(Mid(s, 2, 1)) + CInt(Mid(s, 3, 1))
rs = CInt(Mid(s, 4, 1)) + CInt(Mid(s, 5, 1)) + CInt(Mid(s, 6, 1))
If ls = rs Then Exit For
Next
SRight = s
End Function