Cod sursa(job #670091)
| Utilizator | Data | 28 ianuarie 2012 12:38:09 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include<fstream>
using namespace std;
int nr, elmaj , n , i,V[1000010];
int main(){
ifstream f("elmaj.in");
ofstream g("elmaj.out");
f>>n>>V[1];
nr=1;elmaj=V[1];
for(i=2;i<=n;i++){
f>>V[i];
if(V[i]==elmaj)
nr++;
else
nr--;
if(nr<=0)
elmaj=V[i];
}
nr=0;
for(i=1;i<=n;i++)
if(V[i]==elmaj)
nr++;
if(nr>=(n/2+1))
g<<elmaj<<" "<<nr;
else
g<<"-1";
return 0;
}