Cod sursa(job #1935937)
Utilizator | Data | 22 martie 2017 19:07:18 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n;
int v[1000000];
int main()
{
int elem=-1,k=0;
f>>n;
for (int i=0;i<n;i++){
f>>v[i];
if (k==0) {
elem=v[i];
k=1;
}
else if (v[i]==elem){
k++;
}
else{
k--;
}
}
int nr = 0;
for (int i=0;i<=n;i++){
if (elem==v[i]){
nr++;
}
}
if (nr>n / 2){
g<<elem<<' '<<nr;
}
else {
g<<"-1";
}
f.close();
g.close();
}