Cod sursa(job #2211640)
| Utilizator | Data | 11 iunie 2018 11:07:30 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.74 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
long long n;
int c;
int i,nr;
long long a[1000002];
int main()
{
long long n;
f>>n;
for(i=0;i<n;i++)
f>>a[i];
int fp = 0;
int ec = -1;
for(i=0;i<=n-1;i++)
{
if(fp == 0)
{
ec=a[i];
fp=1;
}
else
{
if( ec == a[i] )
{
fp++;
}
else
fp--;
}
}
for(i=0;i<n;i++)
{
if( a[i] == ec )
nr++;
}
if( nr >= (n/2)+1 )
g<<ec<<" "<<nr;
else
g<<-1;
}
