Cod sursa(job #2205442)
| Utilizator | Data | 19 mai 2018 10:32:33 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
#include <algorithm>
using namespace std;
long long n,v[1000002],i,k,l,mx;
int main()
{
ifstream f ("elmaj.in");
ofstream g ("elmaj.out");
f>>n>>v[1]; mx=v[1]; k++;
for (i=2;i<=n;i++)
{
f>>v[i];
if (v[i]==mx) k++;
else k--;
if (k<0) {mx=v[i]; k=1;}
}
for (i=1;i<=n;i++)
if (mx==v[i]) l++;
k=l;
if (k>n/2)
g<<mx<<" "<<k;
else g<<"-1";
return 0;
}
