Pagini recente » Cod sursa (job #1649516) | Cod sursa (job #489930) | Cod sursa (job #3033391) | Cod sursa (job #1918784) | Cod sursa (job #1262042)
#include <iostream>
#include <fstream>
// gasirea elementului majoritar ( >n/2) dintr-un vector nesortat
using namespace std;
int main()
{
int v[100000],i,max_aparitii=1;
long int n,nr_aparitii=0, contor=1,el_maj;
ifstream f("elmaj.in",ios::in);
ofstream g("elmaj.out",ios::out);
f>>n;
for(i=1;i<=n;i++){
f>>v[i];
}
for(i=1;i<=n;i++){
if(v[i]==v[max_aparitii])
contor++;
else
contor--;
if(contor==0){
max_aparitii=i;
contor=1;
}
}
for(i=1;i<=n;i++)
if(v[i]==v[max_aparitii])
nr_aparitii++;
if(nr_aparitii>=n/2+1){
g<<v[max_aparitii]<<" "<<nr_aparitii;
}
else{
g<<"-1";
}
return 0;
}