Cod sursa(job #2483203)
| Utilizator | Data | 29 octombrie 2019 15:06:49 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f ("elmaj.in");
ofstream g ("elmaj.out");
int n , v[1000001],maj,maxi;
void apariti(int n,int v[] )
{
int i=1,j,cnt=1;
sort(v+1,v+1+n);
while(i <= n)
{
j=i;
while(j <= n && v[j] == v[j+1])
{
j++;
cnt++;
}
if(j-i+1 > n/2)
{
maxi=v[j];
maj=cnt;
}
cnt=1;
i=j+1;
}
}
int main()
{
f >> n;
for(int i=1 ; i<=n ; i++)
{
f >> v[i];
}
apariti(n , v);
g << maxi << " " << maj;
return 0;
}
