Cod sursa(job #3205270)
| Utilizator | Data | 19 februarie 2024 09:58:29 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
int v[1000000];
int main(){
ifstream cin( "elmaj.in" );
ofstream cout( "elmaj.out" );
int n, i, candidat, cnt, ans;
cin >> n;
for( i = 0; i < n; i++ )
cin >> v[i];
cnt = 0;
candidat = -1;
for( i = 0; i < n; i++ ){
if( cnt == 0 ){
candidat = v[i];
cnt = 1;
}
else if( v[i] == candidat )
cnt++;
else
cnt--;
}
ans = 0;
for( i = 0; i < n; i++ )
if( v[i] == candidat )
ans++;
if( ans > n / 2 )
cout << candidat << " " << ans;
else
cout << -1;
return 0;
}
