Cod sursa(job #553704)

Utilizator DevilShadowJunc Raul Cosmin DevilShadow Data 14 martie 2011 11:48:41
Problema Cadrane Scor 20
Compilator cpp Status done
Runda steleinf2010seniori Marime 1.09 kb
#include <iostream.h>
#include <fstream.h>

int min = 300005, x, y, n, m[2][100000], max = 0, incercare[2][300005], h;
int in1, in2;
bool ok;
int main()
{
	ifstream f ("cadrane.in");
	ofstream g ("cadrane.out");
	
	int i, j, s, k;
	
	f >> n;
	for(i = 0; i < n; i ++)
		f >> m[0][i] >> m[1][i];
	
	for(i = 0; i < n; i ++)
	{
		in2 = 0;
		ok = true;
		for(h = 0; h < in1; h ++)
			if(m[0][i] == incercare[0][h])
				{ ok = false; break; }
		if(ok)
		{
			incercare[0][in1] = m[0][i];
			in1 ++;
			min = 300005;
			for(j = 0; j < n; j ++)
			{
				ok = true;
				for(h = 0; h < in2; h ++)
					if(m[1][j] == incercare[1][h])
						{ ok = false; break; }
				
				if(ok)
				{
					incercare[1][in2] = m[1][j];
					in2 ++;
					s = 0;
					y = m[1][j];
					x = m[0][i];
					for(k = 0; k < n; k ++)
					{
						if(x <= m[0][k] && y <= m[1][k])
							s ++;
						else
						if(x >= m[0][k] && y >= m[1][k])
							s ++;
					}
					if(min > s)
						min = s;
				}
			}
			if(max < min)
				max = min;
		}
	}
	
	g << max;
	
	f.close();
	g.close();
}