Cod sursa(job #2453664)
Utilizator | Data | 5 septembrie 2019 00:40:39 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 30 |
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[1000],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";
}