Cod sursa(job #2509615)
| Utilizator | Data | 14 decembrie 2019 13:44:21 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <stdio.h>
int main()
{
FILE *fin, *fout;
fin = fopen("elmaj.in", "r");
fout = fopen("elmaj.out","w");
int n;
fscanf(fin, "%d", &n);
int v[n];
for(int i = 0; i < n; i++)
fscanf(fin, "%d", &v[i]);
int num = -1;
int appear = 0;
for(int i = 0; i < n; i++)
{
if(v[i] == num)
appear++;
else if(appear >= 0)
appear--;
else
{
num = v[i];
appear = 1;
}
}
appear = 0;
for(int i = 0; i < n; i++)
{
if(v[i] == num)
appear++;
}
fprintf(fout, "%d %d", num, appear);
}