Cod sursa(job #2916067)
Utilizator | Ancuta Theodor Theo14 | Data | 27 iulie 2022 23:26:44 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.71 kb |
#include<bits/stdc++.h>
#define int long long
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int v[1000005];
signed main()
{
int n,i,k=0,candidat,nr=0;
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
for(i=1;i<=n;i++)
{
if(k==0)
{
k=1;
candidat=v[i];
}
else
if(v[i]==candidat)
{
k++;
}
else
k--;
}
if(k!=0)
{
for(i=1;i<=n;i++)
{
if(v[i]==candidat)
nr++;
}
if(nr>=n/2+1)
g<<candidat<<" "<<nr;
else
g<<-1;
}
return 0;
}