Nu aveti permisiuni pentru a descarca fisierul grader_test16.ok
Cod sursa(job #1439267)
| Utilizator | Data | 21 mai 2015 22:48:07 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 1.07 kb |
#define _CRT_SECURE_NO_DEPRECATE
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <vector>
#include <list>
#include <set>
#include <iterator>
#include <queue>
#include <utility>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
#define DMAX 1025
#define MOD 1999999973
#define ll long long
#define ull unsigned long long
int N;
int main(){
int i, j;
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
/*freopen("test.in", "r", stdin);
freopen("test.out", "w", stdout);*/
scanf("%d", &N);
int * A = new int[N];
for (i = 0; i < N; i++){
scanf("%d", A[i]);
}
int elmaj = A[0], apElmaj = 1;
for (i = 1; i < N; i++){
if (A[i] != elmaj) apElmaj--;
else apElmaj++;
if (apElmaj == 0){
elmaj = A[i];
apElmaj++;
}
}
apElmaj = 0;
for (i = 0; i < N; i++) if (A[i] == elmaj) apElmaj++;
if (apElmaj >= N / 2 + 1) printf("%d %d", elmaj, apElmaj);
else printf("-1");
return 0;
}