- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
#define max(x, y) ((x) > (y) ? (x) : (y)) // Вводим макрос
#define MAX(x, y) max(x, y) // Чтобы не конфликтовал со стандартным max
#define Std namespace std // Так короче
#include <iostream>
#include <vector>
#include <algorithm>
using Std;
int main()
{
bool vvedeno = false;
int kolichestvo;
cin >> kolichestvo;
vector<char> A(kolichestvo);
A: if (vvedeno){goto B;}else{
while(kolichestvo != 0){vvedeno = true; cin >> A[kolichestvo - 1]; kolichestvo = kolichestvo - 1;} // вводим
}
reverse (A.begin(), A.end()); // для определённости развернём
B:
vector<int> B; // Массив из цифр
try{
for (char tipachislo : A)
B.push_back(int(tipachislo) - 48); // преобразуем char к int
}catch(errc){vvedeno = false; kolichestvo = A.size(); goto A;} // ну что-то же ввести надо
C:
int maxim = B[1];
int dlina = B.size();
D:
maxim = MAX(B[dlina - 1], maxim);
dlina--;
if(dlina == -1){cout << maxim;}else{goto D;} // ищем
}
Caladrius 29.10.2017 14:30 # +2
gost 29.10.2017 19:27 # 0
bormand 29.10.2017 19:35 # +2
Практически невозможно научить хорошему стилю программирования студентов, которые раньше имели дело с Бейсиком; в качестве программистов они умственно покалечены без надежды на восстановление.
SemaReal 29.10.2017 20:20 # +7
gost 30.10.2017 06:18 # +6
Steve_Brown 30.10.2017 10:41 # +4
Antervis 30.10.2017 12:28 # +2
ровно на всю эту строку короче, ага