Nu aveti permisiuni pentru a descarca fisierul grader_test45.in
Cod sursa(job #757931)
Utilizator | Data | 13 iunie 2012 19:44:29 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.65 kb |
using namespace std;
#include<fstream>
#include<algorithm>
#define NN 1000001
ofstream out("elmaj.out");
long long v[NN];
int n,poz;
int solve(long long *,int);
void read();
int main()
{
read();
solve(v,n);
if(poz==0)
out<<-1;
else
{
out<<solve(v,n);
out<<" "<<poz;
}
return 0;
}
void read()
{
ifstream in("elmaj.in");
in>>n;
for(int i=0;i<n;i++)
in>>v[i];
}
int solve(long long *v,int n)
{
sort(v,v+n);
int i=0;
while(i < n)
{
int j=i;
while(j < n && v[j+1]==v[i] )
j++;
if(j-i+1>n/2)
{
poz=j-1+1;
return v[i];
}
i=j+1;
}
return -1;
}