Cod sursa(job #1331128)
Utilizator | Cretu Aurelia Aurelia | Data | 31 ianuarie 2015 12:36:16 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
using namespace std;
int v[2*10^9], fr[1000000];
int main()
{int n, s, i;
cin>>n;
cout<<"elmaj.in";
for(i=1; i<=n; i++) cin>>v[i];
fr[1]=0;
s=0;
for(i=2; i<=n; i++)
{if(fr[1]==0)
{
fr[1]++;
s=v[i-1];
}
else
{if(v[i-1]==v[i]) fr[1]++;
else fr[1]--;
}
}
fr[1]=0;
for(i=1; i<=n; i++)
{
if(s==v[i]) fr[1]++;
}
cout<<"elmaj.out"<<"\n";
if(fr[1]>n/2) cout<<s<<" "<<fr[1];
else cout<<"-1";
}