Cod sursa(job #1715311)
Utilizator | Cristian Raileanu Raileanu | Data | 10 iunie 2016 12:06:30 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f1("elmaj.in");
ofstream f2("elmaj.out");
#define NMAX 1000*1001
int a[NMAX], n;
int main()
{
int i, j;
f1>>n;
for (i=1; i<=n; i++)
f1>>a[i];
i=1;
j=n;
for (; i<j; )
{
if (a[i] == a[j])
i++;
else
{
i++;
j--;
}
}
int nr= 0;
for (i=1; i<=n; i++)
if (a[i] == a[j])
nr++;
if (nr < n/2 + 1)
f2<<"-1";
else
f2<< a[j] << " " << nr;
f2.close();
return 0;
}