Cod sursa(job #2029808)
| Utilizator | Data | 30 septembrie 2017 14:33:19 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.77 kb |
#include<fstream>
using namespace std;
long long int v[1000007];
int main()
{
ifstream read("elmaj.in");
ofstream write("elmaj.out");
int n, sanse_maj=1, counter=0;
read>>n;
for(int i=1;i<=n;++i)
{
read>>v[i];
if(v[i] == v[sanse_maj])
{
counter ++;
}
else
{
counter --;
}
if(counter < 0)
{
sanse_maj = i;
counter = 1;
}
}
counter = 0;
for(int i=1;i<=n;++i)
{
if(v[i]==v[sanse_maj])
{
counter ++;
}
}
if(counter > n/2)
{
write<<v[sanse_maj]<<" "<<counter;
}
else
{
write<<-1;
}
return 0;
}
