Cod sursa(job #552480)

Utilizator HoriaClementHoriaC HoriaClement Data 12 martie 2011 13:47:10
Problema Fibo3 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std;

long long t,x1,x2,y,y2,f[1<<10];
long long max1=0,min1,s=0;

ifstream in("fibo3.in");
ofstream out("fibo3.out");

inline int maxim(int x,int y)
{
	return x > y ? x : y;
}
inline int minim(int x,int y)
{
	return x < y ? x : y;
}

void rez()
{
	in>>t;
	f[0]=1,f[1]=2;
	for(int i=2;i<=92;++i)
		f[i]=f[i-1]+f[i-2];
	while(t--)
	{
		s=0;
		in>>x1>>y>>x2>>y2;
		for(int i=0;i<=92;++i)
		{
			if(f[i]>x2+y2)
				break;
			if(f[i]<x1+y)
				continue;
			max1=x1,min1=x2;
			max1=maxim(f[i]-y2,max1);
			min1=minim(f[i]-y,min1);
			s+=min1-max1+1;
		}
		out<<s<<"\n";
	}
	
}
int main()
{
	rez();
	return 0;
}