Pagini recente » Cod sursa (job #459659) | Cod sursa (job #2748705) | Cod sursa (job #88144) | Cod sursa (job #2790515) | Cod sursa (job #1596696)
#include <fstream>
#define DMAX 1000004
using namespace std;
ofstream fout("elmaj.out");
ifstream fin("elmaj.in");
int n;
int a[DMAX];
int cand, k, nr;
void parcurgere1();
void parcurgere2();
int main()
{
parcurgere1();
parcurgere2();
return 0;
}
void parcurgere1()
{
int i;
fin>>n;
for(i=1;i<=n;++i)
{
fin>>a[i];
if(!k)
{
cand=a[i];
k=1;
}
else
{
if(a[i]==cand) ++k;
else --k;
}
}
}
void parcurgere2()
{
int i;
for(i=1;i<=n;++i)
{
if(a[i]==cand) ++nr;
}
if(nr>n/2)
fout<<cand<<' '<<nr;
else fout<<-1;
fout<<'\n';
}
/*
DOUA CITIRI, FARA MEMORIE
#include <fstream>
using namespace std;
ofstream fout("elmaj.out");
int n;
int cand, k, nr;
void parcurgere1();
void parcurgere2();
int main()
{
parcurgere1();
parcurgere2();
return 0;
}
void parcurgere1()
{
ifstream fin("elmaj.in");
fin>>n;
int i, x;
for(i=1;i<=n;++i)
{
fin>>x;
if(!k)
{
cand=x;
k=1;
}
else
{
if(x==cand) ++k;
else --k;
}
}
fin.close();
}
void parcurgere2()
{
ifstream fin("elmaj.in");
fin>>n;
int i, x;
for(i=1;i<=n;++i)
{
fin>>x;
if(x==cand) ++nr;
}
if(nr>n/2)
fout<<cand<<' '<<nr;
else fout<<-1;
fout<<'\n';
}
*/