Pagini recente » Cod sursa (job #2444314) | Cod sursa (job #1136416) | Cod sursa (job #2136607) | Cod sursa (job #928382) | Cod sursa (job #3205274)
/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <iostream>
using namespace std;
int v[1000008];
int element(int n, int a[])
{
int candidate = -1;
int count = 0;
for (int i = 0; i < n; i++)
{
if (count == 0)
{
candidate = a[i];
count = 1;
}
else if (a[i] == candidate)
count++;
else
count--;
}
int realCount = 0;
for (int i = 0; i < n; i++)
{
if (a[i] == candidate)
realCount++;
}
if (realCount > n / 2)
return candidate;
else
return -1;
}
int contor(int n, int a[])
{
int candidate = -1;
int count = 0;
for (int i = 0; i < n; i++)
{
if (count == 0)
{
candidate = a[i];
count = 1;
}
else if (a[i] == candidate)
count++;
else
count--;
}
int realCount = 0;
for (int i = 0; i < n; i++)
{
if (a[i] == candidate)
realCount++;
}
if (realCount > n / 2)
return realCount;
else
return -1;
}
int main()
{
int n;
cin>>n;
for(int i=0; i<n; i++)
cin>>v[i];
if(element(n,v)==-1)
cout<<-1;
else cout<<element(n,v)<<" "<<contor(n,v);
return 0;
}