Cod sursa(job #1784703)
| Utilizator | Data | 20 octombrie 2016 13:29:20 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <bits/stdc++.h>
using namespace std;
int main()
{
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,gasit=-1,ap=-1;
f>>n;
int a[n+1];
for(int i=0; i<n; i++)
{
f>>a[i];
}
sort(a+0,a+n);
int i = 0;
while (i < n) {
int j = i;
while (j < n && a[j + 1] == a[i])
j++;
if(j-i+1>n/2)
{
gasit=a[i];
ap=j-i+1;
break;
}
i = j + 1;
}
if(ap!=-1)
g<<gasit<<" "<<ap;
else
g<<"-1";
return 0;
}
