Cod sursa(job #945641)

Utilizator RaduGabriel2012Dinu Radu RaduGabriel2012 Data 2 mai 2013 14:03:12
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,v[1000005];
const int mod = 9001;
vector <int> a[mod];
vector <int> ap[mod];
void Analyze(int x)
{ int i,lin=x%mod,found=0;
  for(i=0;i<a[lin].size();i++)
   if (a[lin][i]==x) {ap[lin][i]++; found=1; break;}
 if (!found) {a[lin].push_back(x); ap[lin].push_back(1);}
}
void Read()
{ int i,x;
    f>>n;
  for(i=1;i<=n;i++)
  { f>>v[i]; Analyze(v[i]); }
}
void Check()
{ int i,lin,j,ok=0;

  for(i=1;i<=n;i++)
  { lin=v[i]%mod;
     for(j=0;j<a[lin].size();j++)
       if (a[lin][j]==v[i])
       { if (ap[lin][j]>n/2) {g<<v[i]<<" "<<ap[lin][j]; ok=1; return;}
          break; }
  }
  g<<"-1";
}
int main()
{ Read();
  Check();
    return 0;
}