Pagini recente » Cod sursa (job #1658274) | Cod sursa (job #1537016) | Cod sursa (job #2443296) | Cod sursa (job #2463037) | Cod sursa (job #1365143)
#include <iostream>
#include <stdio.h>
using namespace std;
int v[1000001];
FILE *f = fopen( "elmaj.in", "r" );
FILE *g = fopen( "elmaj.out", "w" );
int main()
{
int n;
fscanf( f, "%d", &n );
for( int i = 0; i < n; i++ )
{
fscanf( f, "%d", &v[i] );
}
// determinarea elementului
int elmaj = -1, k = 0;
for( int i = 0; i < n; i++ )
{
if( k == 0 )
{
elmaj = v[i];
k++;
}
else if ( v[i] == elmaj )
{
k++;
}
else
{
k--;
}
}
// verificare
k = 0;
for( int i = 0; i < n; i++ )
{
if( v[i] == elmaj )
{
k++;
}
}
if( k >= n/2+1 )
{
fprintf( g, "%d %d\n", elmaj, k );
}
else
{
fprintf( g, "-1\n" );
}
return 0;
}