Pagini recente » Cod sursa (job #945460) | Cod sursa (job #1684542) | Cod sursa (job #2427961) | Clasament ziua_recursivitatii | Cod sursa (job #921798)
Cod sursa(job #921798)
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,i,v[1000003],vi[1000003];
void verificare(int nr)
{
int k=0,k2=0;
if (nr==0) g<<"-1";
if (nr==1)
{
for (i=1;i<=n;i++)
{
if (vi[i]==v[1])
k++;
}
if (k>=n/2+1)
{
g<<v[1]<<" "<<k;
}
else g<<"-1";
}
if (nr==2)
{
for (i=1;i<=n;i++)
{
if (vi[i]==v[1])
k++;
}
for (i=1;i<=n;i++)
{
if (vi[i]==v[2])
k2++;
}
if (k>=n/2+1)
{
g<<v[1]<<" "<<k;
}
else
if (k2>=n/2+1)
{
g<<v[2]<<" "<<k2;
}
else g<<"-1";
}
}
void eliminare(int nr)
{
if (nr<=2)
verificare(nr);
else
{
int e=0;
for (i=1;i<=nr;i=i+2)
{
if (v[i]==v[i+1])
{
e++;
v[e]=v[i];
}
}
v[e+1]=v[e];
eliminare(e);
}
}
int main()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>v[i];
vi[i]=v[i];
}
v[n+1]=v[n];
eliminare(n);
f.close();
g.close();
return 0;
}