Cod sursa(job #1396657)
Utilizator | Data | 22 martie 2015 20:05:56 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream>
using namespace std;
int n,i,v[101],c,k,nr;
int main()
{
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
c=v[1];
k=1;
for (i=2;i<=n;i++)
if (c==v[i]) k++;
else if (!k) {c=v[i];k=1;}
else k--;
for (i=1;i<=n;i++)
if (c==v[i]) nr++;
if (nr>n/2) fout<<c<<" "<<nr;
else fout<<-1;
return 0;
}