Cod sursa(job #2453666)
Utilizator | Octavian Neculau 1chiriac | Data | 5 septembrie 2019 00:41:53 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int main ()
{
int n,s,nr[1000002],elmaj,contor=0;
fin>>n>>nr[0];
s=1;elmaj=nr[0];
for(int i=1;i<n;i++)
{
fin>>nr[i];
if(nr[i]==elmaj)
s++;
else
s--;
if(s==0)
s=1,elmaj=nr[i];
}
for(int i=0;i<n;i++)
if(nr[i]==elmaj)
contor++;
if(contor>=n/2+1)
fout<<elmaj<<" "<<contor;
else
fout<<"-1";
}