Cod sursa(job #2100858)

Utilizator miguelMihail Lavric miguel Data 6 ianuarie 2018 14:19:40
Problema Elementul majoritar Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#pragma GCC optimize("O3")
#include<bits/stdc++.h>
using namespace std;
#define rc(x) return cout<<x<<endl,0
#define pb push_back
#define dbg(x) cout << #x << '=' << x << '\n';
#define ll long long
#define sz size()
#define pb push_back
const ll mod = 1e9 + 7;
map <int, int> m;
vector <int> v;
int n, x, y, k;

int32_t main(){
    ios_base :: sync_with_stdio(0); cin.tie(); cout.tie();
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    srand(time(NULL));
    fin>>n;
    if(n<=100000){for(int i=0; i<n; i++){fin>>x; v.pb(x); m[x]++;}
    for(pair <int, int> i: m){if(i.second>=n/2+1){fout<<i.first<<" "<<i.second; return 0;}}
    if(y>0) fout<<-1;} else{
        for(int i=1; i<n; i++){fin>>x; v.pb(x);}
        for(int i=1; i<=10; i++){
                x=(int)rand%n; k=0;
                for(int j=0; j<=n; j++){if(v[x]==v[j]) k++;}
                if(k>= n/2 +1){fout<<v[x]<<" "<<k; return 0;}
        }
    } fout<<-1; return 0;
}