Cod sursa(job #3286608)
| Utilizator | Data | 14 martie 2025 14:05:16 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int a[1000003], n, cnt, cand;
int main()
{
int i;
fin >> n;
for (i = 1; i <= n; i++)
fin >> a[i];
cand = a[1];
cnt = 1;
for (i = 2; i <= n; i++)
if (a[i] == cand) cnt++;
else
{
cnt--;
if (cnt == -1)
{
cand = a[i];
cnt = 1;
}
}
cnt = 0;
for (i = 1; i <= n; i++)
if (a[i] == cand) cnt++;
if (cnt > n / 2) fout << cand << " " << cnt << "\n";
else fout << "-1\n";
return 0;
}
