Nu aveti permisiuni pentru a descarca fisierul grader_diff.cpp
Cod sursa(job #965804)
| Utilizator | Data | 24 iunie 2013 18:53:02 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <string>
using namespace std;
int main()
{
FILE *f = fopen("elmaj.in", "r");
FILE *g = fopen("elmaj.out", "w");
int n; long long int *v;
fscanf(f, "%d", &n);
v = new long long int [n];
for (int i=0; i<n; i++)
fscanf(f, "%lld", &v[i]);
int max = 0;
long long int numar;
for (int i=0; i<n; i++)
{
int nr = 0;
for (int j=0; j<n; j++)
if (v[i] == v[j])
nr++;
if (nr > max)
{
max = nr;
numar = v[i];
}
}
if (max > n/2)
fprintf(g, "%lld %d", numar, max);
fclose(g);
fclose(f);
return 0;
}