Advertisement
Guest User

Untitled

a guest
Jul 25th, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include "bits/stdc++.h"
  2.  
  3. using namespace std;
  4.  
  5. bool sprawdz(int arr[], int n, int lider){
  6.     int ile = 0;
  7.     for (int i = 0; i < n; i++){
  8.         if (arr[i] == lider)
  9.             ile++;
  10.     }
  11.     return ile > n / 2;
  12. }
  13. int main()
  14. {
  15.     ios_base::sync_with_stdio(0);
  16.     int n, ile, lider, zlicz;
  17.     cin >> n;
  18.     krotnosc = ile = zlicz = 0;
  19.     int * ciag = new int[n];
  20.     int * sor = new int[n];
  21.     for (int i = 0; i < n; i++){
  22.         cin >> ciag[i];
  23.         sor[i] = ciag[i];
  24.     }
  25.     sort(sor, sor + n);
  26.     wartosc = sor[n/2];
  27.    
  28.     if (sprawdz(ciag, n, wartosc) == false){
  29.         cout<<"NIE";
  30.         return 0;
  31.     }
  32.    
  33.     for (int i = 0; i < n; i++){
  34.         if (ciag[i] == wartosc) zlicz++;    //zlicza ile razy lider ciagu wystepuje w prefiksie
  35.         if (zlicz > (i+1) / 2) ile++;       //sprawdza czy lider ciagu jest liderem tego prefiksu
  36.     }
  37.  
  38.     if (ile > n / 2)
  39.         cout << wartosc;
  40.     else
  41.         cout << "NIE";
  42.     return 0;
  43. }
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement