fork download
  1. #include <iostream>
  2. using namespace std;
  3. /*
  4. Declarăm și citim variabilele “n” “i” și “j”.
  5. (lungimea șirului, și intervalul de căutare dat de variabilele “i” si “j”).
  6. Declarăm o variabila pentru elementul curent și de asemenea
  7. declarăm un șir în care vom marca aparitiile elementelor
  8. cuprinse în intervalul “i” și “j” inclusiv.
  9. Cat și o variabila cu rol de contor,
  10. ultimele doua fiind inițializate cu valoarea zero.
  11.  
  12. În timpul citirii elementului curent:
  13. Daca pozitia acestuia este cuprinsa in intervalul inchis “i” și “j”:
  14. Contorizam frecventa acestuia.
  15. Dacă valoarea frecvenței contorizate
  16. este mai mare decat valoarea variabilei cu rol de contor:
  17. Aceasta va prelua valoarea frecvenței contorizate.
  18.  
  19. Parcurgand șirul aparițiilor,
  20. dacă frecventa indicelui curent este egala cu
  21. valoarea variabilei cu rol de contor:
  22. afisam indicele curent și oprim parcurgerea.
  23. */
  24.  
  25. const int MAX_VALUE = 100;
  26.  
  27. int main() {
  28. int n, i, j, currentElement, fr[MAX_VALUE + 1] = {0}, frCount = 0;
  29. cin >> n >> i >> j;
  30. for (int l = 1; l <= n; ++l) {
  31. cin >> currentElement;
  32. if (l >= i && l <= j) {
  33. ++fr[currentElement];
  34. if (fr[currentElement] > frCount) {
  35. frCount = fr[currentElement];
  36. }
  37. }
  38. }
  39. for (int k = 0; k <= MAX_VALUE; ++k) {
  40. if (fr[k] == frCount) {
  41. cout << k;
  42. k = MAX_VALUE + 1;
  43. }
  44. }
  45. return 0;
  46. }
Success #stdin #stdout 0s 5288KB
stdin

5 5 5
0 100 0 100 5 -> 5
stdout
5