Cod sursa(job #1504191)
| Utilizator | Data | 17 octombrie 2015 14:53:59 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
#include<fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
unsigned long long v[1000001],n;
int main()
{
in>>n;
in>>v[1];
unsigned long long c=1;
unsigned long long y=1;
for(unsigned long long i=2; i<=n; i++)
{
in>>v[i];
if(v[c]==v[i])
y++;
else
y--;
if(y == 0)
{
c=i;
y=1;
}
}
unsigned long long x=0;
for(unsigned long long i=1; i<=n; i++)
{
if(v[i]==v[c])
x++;
}
if(x>n/2)
out<<v[c]<<" "<<x;
else
out<<"-1";
return 0;
}
