Cod sursa(job #2264353)
| Utilizator | Data | 20 octombrie 2018 08:19:54 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ofstream out("elmaj.out");
ifstream in("elmaj.in");
int n;
in>>n;
int i=1 ,e[100000005] ,a[200000005] ,nr ,el;
for(int j=1 ;j<=n ;j++)
{
in>>a[j];
if(i==1||a[j]==e[i-1])
{
e[i]=a[j];
i++;
}
else if(a[j]!=e[i-1])
i--;
}
el=e[i-1];
for (int i=1;i<=n;i++)
if(a[i]==el)
nr++;
if(nr>=(n/2)+1)
out<<el<<" "<<nr;
else
out<<-1;
return 0;
}
