Nu aveti permisiuni pentru a descarca fisierul grader_test3.ok
Cod sursa(job #1167554)
| Utilizator | Data | 5 aprilie 2014 14:42:12 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int v[1000001],n;
int main()
{
fin>>n;
for (int i=1; i<=n; ++i)
fin>>v[i];
int val = 0, cnt = 0;
for (int i=1; i<=n; ++i)
{
if (v[i] == val)
++cnt;
else
{
--cnt;
if (cnt < 0)
val = v[i],cnt=1;
}
}
cnt = 0;
for (int i=1; i<=n; ++i)
{
if (v[i] == val)
++cnt;
}
if (cnt >= n/2+1)
fout<<val<<" "<<cnt;
else fout<<-1;
}
