Cod sursa(job #552482)

Utilizator HoriaClementHoriaC HoriaClement Data 12 martie 2011 13:49:30
Problema Fibo3 Scor 100
Compilator cpp Status done
Runda steleinf2010juniori Marime 0.71 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 long long maxim(long long x,long long y)
{
	return x > y ? x : y;
}
inline long long minim(long long x,long long 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;
}