Cod sursa(job #1939090)

Utilizator ApostolIlieDanielApostol Daniel ApostolIlieDaniel Data 25 martie 2017 13:59:35
Problema Pachete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.5 kb
#include <stdio.h>
#include <algorithm>
const int MAX = 50000;
using namespace std;
struct ind { int a; int b;};
bool cmp ( ind nr1, ind nr2 ) {
	if (nr1.a > nr2.a)
		return false;
	return true;
}
ind drum1[MAX + 1], drum2[MAX + 1], drum3[MAX + 1], drum4[MAX + 1];
int v[MAX + 1];
int main()
{
	FILE *fin, *fout;
	int n1, n2, n3, n4, n, xx, yy, x, y, i;
	fin = fopen ("pachete.in", "r");
	fout = fopen ("pachete.out", "w");
	fscanf (fin, "%d", &n);
	fscanf (fin, "%d%d", &xx, &yy);
	n1 = n2 = n3 = n4 = 0;
	for (i = 1; i <= n; i++) {
		fscanf (fin, "%d%d", &x, &y);
		if (x >= xx && y > yy) {
			drum1[++n1].a = x - xx;
			drum1[++n1].b = y - yy;
		}
		else if (x < xx && y >= yy) {
			drum2[++n2].a = xx - x;
			drum2[++n2].b = y - yy;
		}
		else if (x <= xx && y < yy) {
			drum3[++n3].a = xx - x;
			drum3[++n3].b = yy - y;
		}
		else if (x > xx && y <= yy) {
			drum4[++n4].a = x - xx;
			drum4[++n4].b = yy - y;
		}
	}
	sort (drum1 + 1, drum1 + n1 + 1, cmp);
	sort (drum2 + 1, drum2 + n2 + 1, cmp);
	sort (drum3 + 1, drum3 + n3 + 1, cmp);
	sort (drum4 + 1, drum4 + n4 + 1, cmp);
	s = 0;
	nr = 0;
	for (i = 1; i <= n1; i++) {
		st = 1;
		dr = nr;
		while(st <= dr) {
			m = (st + dr) / 2;
			if ( v[m] > drum1[i].a)
		}
	}
	s += nr;
	nr = 0;
	for (i = 1; i <= n2; i++) {

	}
	s += nr;
	nr = 0;
	for (i = 1; i <= n3; i++) {

	}
	s += nr;
	nr = 0;
	for (i = 1; i <= n4; i++) {

	}
	s += nr;
	fprintf (fout, "%d\n", s);
	fclose (fin);
	fclose (fout);
	return 0;
}