Pagini recente » Cod sursa (job #3225672) | Cod sursa (job #2899158) | Cod sursa (job #3168148) | Cod sursa (job #2844064) | Cod sursa (job #1588971)
#include<algorithm>
#include<fstream>
using namespace std;
/// 3 4 4 3 3 2 3
int v[1000005],a[999999],n;
int main()
{
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int i,j,x,maxim,y;
fin>>n;
x=(n/2)+1;
maxim=0;
for(i=1;i<=n;i++)
fin>>v[i];
for(i=1;i<=n;i++)
{
a[v[i]]++; /// elementul de pe pozitia 3 creste cu 1
/// elementule de pe pozitia 4 creste de doua ori
/// elementul de pe pozitia 3 creste de trei ori(acuma este 4)
/// 4 este egal cu 4 atunci maxim=4(numarul de aparitii) si y=3
///y este elementul care apare de cele mai multe ori in vector
if(a[v[i]]>=x)
{
maxim=a[v[i]];
y=v[i]; ///x este mai mare ca 0 atunci nu exista niciun element care apare de mai multe ori in vector
}
}
if(x>maxim)fout<<"-1";
else
fout<<y<<" "<<maxim;
fin.close();
fout.close();
}