Cod sursa(job #938059)

Utilizator superman_01Avramescu Cristian superman_01 Data 11 aprilie 2013 18:05:14
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<cstdio>
#include<vector>
#include<cstring>

#define NMAX  105

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

using namespace std;

vector <int> tree;
int nr_maj,MAXD,SOL;
int n,m,p;
void Solve( void );
void Read ( void )
{
	fscanf(f,"%d%d%d",&n,&m,&p);
	for(int i(1) ; i <= n ; ++ i)
	{
		for(int ii(1) ; ii <= m ; ++ii )
		{
			int x;
			fscanf(f,"%d",&x);
			tree.push_back(x);
 	    }
		
		Solve();
		tree.clear();
	}	
		fclose(f);
}
void Solve ( void )
{
	
	int MAX=-1<<31;
	int sol=1,cand=1;
	for(int i(0); i < tree.size() ; ++i)
    {
	
         
		if( tree[i] == tree[i-1] )
		
			++sol;
			
		else
		{
        cand=max(cand,sol);
			sol=1;
		}
    }
    if( MAX >= (m/2+1) )
	   ++MAXD;
	
	SOL=max(SOL,cand);
}
void Write ( void )
{
	fprintf(g,"%d\n%d",MAXD,SOL);
	fclose(g);
}

int main( void )
{
	Read();
	Write();
	return 0;
	
}