Cod sursa(job #2737091)
Utilizator | Taga Stefan stefantaga | Data | 4 aprilie 2021 13:46:11 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,cnt=1,nr,k,p=0,i,v[1000001];
int main()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>v[i];
}
nr=v[1];
for (i=2;i<=n;i++)
{
if (v[i]!=nr)
{
cnt--;
}
else
if (v[i]==nr)
{
cnt++;
}
if (cnt<0)
{
cnt=0;
nr=v[i];
}
}
k=nr;
for (i=1;i<=n;i++)
{
if (k==v[i])
{
p++;
}
}
if (p>n/2)
{
g<<k<<" "<<p;
}
else
{
g<<"-1";
}
return 0;
}