Grade 9 · Number sequences read one at a timeCitește în română
Maximum and minimum of a sequence
Original: Maximul și minimul unui șir
O(n)C++1741 lines1 example
The idea
n is read, then n integers. The maximum and the minimum start from the first number read (not from 0, because all numbers may be negative), then every following number is compared with them.
Original description (Romanian)
Se citesc n și apoi n numere întregi. Maximul și minimul pornesc de la primul număr citit (nu de la 0, pentru că toate numerele pot fi negative), apoi fiecare număr următor este comparat cu ele.
- Complexity
- O(n)
- Grade
- Grade 9 (Clasa a IX-a)
Examples
Example 1
Input
5 3 -2 8 0 8
Expected output
8 -2
The code
Comments are in Romanian, as in the original collection. Edit freely: you can reset at any time.
/*
* Titlu: Maximul și minimul unui șir
* Clasa: 9
* Capitol: Șiruri de numere citite pe rând
* Descriere: Se citesc n și apoi n numere întregi. Maximul și minimul pornesc
* de la primul număr citit (nu de la 0, pentru că toate numerele pot
* fi negative), apoi fiecare număr următor este comparat cu ele.
* Complexitate: O(n)
*
* Exemplu
* Intrare:
* 5
* 3 -2 8 0 8
* Ieșire: 8 -2
*/
#include <iostream>
using namespace std;
int main()
{
int n;
long long x, maxim, minim;
cin >> n >> x;
maxim = x;
minim = x;
for (int i = 2; i <= n; i++)
{
cin >> x;
if (x > maxim)
{
maxim = x;
}
if (x < minim)
{
minim = x;
}
}
cout << maxim << ' ' << minim << '\n';
return 0;
}
Runs on a real g++ (C++17, -O2) through Compiler Explorer. Keep runs short; there's a time limit.