Pagini recente » Cod sursa (job #186596) | Cod sursa (job #3301543) | Cod sursa (job #109977) | Cod sursa (job #3315577) | Cod sursa (job #3315547)
#include <fstream>
#include<algorithm>
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int arr[1000001];
int Cnt(const int a[], int n, int x)
{
int c = 0;
for(int i = 0; i < n; i++)
if(a[i] == x) c++;
return c;
}
int elementmajoritar(const int a[], int n)
{
if(n == 0) return -1;
int cand = 0, cnt = 0;
for(int i = 0; i < n; i++)
{
if(cnt == 0)
{
cand = a[i];
cnt = 1;
}
else if(a[i] == cand) cnt++;
else cnt--;
}
int cc = Cnt(a, n, cand);
if(cc > n / 2) return cand;
return -1;
}
int main()
{
int n;
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> arr[i];
}
int nr = elementmajoritar(arr, n);
int nrr = Cnt(arr, n, nr);
//if(nr == -1) cout << "NU";
cout << nr << " " << nrr;
}