Pagini recente » Cod sursa (job #2218065) | Cod sursa (job #1200632) | Cod sursa (job #1942535) | Cod sursa (job #31875) | Cod sursa (job #1048863)
#include <stdio.h>
#include <iostream>
#include <string>
#include <stdlib.h>
#include <assert.h>
#include <time.h>
#include <algorithm>
#include <vector>
#include <cstdio>
#include <cstring>
#include <fstream>
#include <queue>
#include <cstdlib>
#include <iomanip>
#include <cmath>
using namespace std;
#define NMAX 1000001
#define ERROR 0.0001
int hashMajority(int n, int *a)
{
vector <int> b[NMAX] ;
for (int i = 0; i < n; i++)
{
if ( b[a[i]].begin() == b[a[i]].end() )
{
b[a[i]].push_back(1);
}
else
{
b[a[i]][0] += 1;
}
}
for (int i = 0; i < n; i++)
{
if (b[a[i]][i] > n/2)
return a[i];
}
return -1;
}
int main()
{
int N, a[NMAX];
FILE *f = fopen ("elmaj.in", "r");
FILE *g = fopen ("elmaj.out", "w");
fscanf(f, "%d", &N);
for (int i = 0; i < N; i++)
{
fscanf (f, "%d", &a[i]);
}
fprintf (g, "%d", hashMajority(N, a));
fclose(f);
fclose(g);
return 0;
}