Cod sursa(job #1232970)

Utilizator borcanirobertBorcani Robert borcanirobert Data 24 septembrie 2014 13:24:30
Problema Elementul majoritar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <stdio.h>
#include <iostream>
using namespace std;

FILE *f = fopen( "elmaj.in", "r" );
FILE *g = fopen( "elmaj.out", "w" );

long long N;
long long a;
long long nr, s;
int ap;

int main()
{
    int i;

    fscanf( f, "%lld%lld", &N, &a );
    nr = a; s = 1;

    for ( i = 2; i <= N; i++ )
    {
        fscanf( f, "%lld", &a );

        if ( a == nr ) s++;
        else           s--;

        if ( s < 0 )
            nr = a, s = 1;

     //   cout << nr; cin.get();
    }

    fclose(f);
    FILE *k = fopen( "elmaj.in", "r" );
    fscanf( k, "%lld%lld", &N, &a );
   // cout << N << ' ' << a << '\n';
    for ( i = 1; i <= N; i++ )
    {
        fscanf( k, "%lld", &a );
        if ( a == nr )
            ap++;
    }

   // cout << ap; cin.get();

    if ( s > 0 )
        fprintf( g, "%lld %d\n", nr, ap + 1 );
    else
        fprintf( g, "-1\n" );
    fclose(k);
    fclose(g);
    return 0;
}