Cod sursa(job #2205440)
| Utilizator | Data | 19 mai 2018 10:31:00 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
long long a[100010],i,n,x,k,maj;
int main()
{
fin>>n;
for(i=1;i<=n;i++)fin>>a[i];
maj=a[1];
for(i=1;i<=n;i++)
{
if(a[i]==maj)x++;
if(a[i]!=maj)x--;
if(x<0){maj=a[i];x=1;}
}
for(i=1;i<=n;i++)
{
if(a[i]==maj)k++;
}
if(k>n/2)fout<<maj<<" "<<k;
else fout<<-1;
return 0;
}
