Cod sursa(job #381944)

Utilizator shnakoVlad Schnakovszki shnako Data 12 ianuarie 2010 10:50:43
Problema Lapte Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.52 kb
#include <stdio.h>
FILE *f=fopen("lapte.in", "r"), *g=fopen("lapte.out", "w");
int i, j, n, inj, a[101], b[101], poza[101], pozb[101], sw, ld, ls, l, s, mij;
bool check[101];

void citeste(void)
{
	fscanf(f, "%d%d", &n, &l);
	for (i=1;i<=n;i++)
		fscanf(f, "%d%d", &a[i], &b[i]);
	fclose(f);
}

void sorteaza(void)
{
	for (i=1;i<=n;i++)
		poza[i]=pozb[i]=i;
	inj=n;
	while(inj>1)
	{
		inj/=2;
		do{
			sw=0;
			for( i=1;i<=n-inj;i++)
				if(a[i]>a[i+inj])
				{
					a1[i]=a1[i]^a1[i+inj];
					a1[i+inj]=a1[i]^a1[i+inj];
					a1[i]=a1[i]^a1[i+inj];
					b1[i]=b1[i]^b1[i+inj];
					b1[i+inj]=b1[i]^b1[i+inj];
					b1[i]=b1[i]^b1[i+inj];
					sw++;
				}
		}while(sw!=0);
	}
	sw=0;
	inj=n;
	while(inj>1)
	{
		inj/=2;
		do{
			sw=0;
			for( i=1;i<=n-inj;i++)
				if(b[i]>b[i+inj])
				{
					a2[i]=a2[i]^a2[i+inj];
					a2[i+inj]=a2[i]^a2[i+inj];
					a2[i]=a2[i]^a2[i+inj];
					b2[i]=b2[i]^b2[i+inj];
					b2[i+inj]=b2[i]^b2[i+inj];
					b2[i]=b2[i]^b2[i+inj];
					sw++;
				}
		}while(sw!=0);
	}
}

int verif(void)
{
	int ii = 1;
	s = 0;
	while (s<l)
	{
		s+=mij/a[ii];
		ii++;
	}
	s = 0;
	ii = 1;
	while (s<l)
	{
		s+=mij/b[ii];
		ii++;
	}
}

void tipareste(int i)
{
	i++;
}

void binary(void)
{
	ls=1;
	ld=100;
	mij=(ls+ld)/2;
	while (ls<ld)
	{
		if (verif())
			{
				ls=mij+1;
				check[mij]=1;
			}
		else
			ld=mij-1;
	}
	for (i=1;i<=n;i++)
		if (check[i])
			tipareste(i);
}

int main(void)
{
	citeste();
	sorteaza();
	binary();
	return 0;
}