Cod sursa(job #632002)

Utilizator maritimCristian Lambru maritim Data 10 noiembrie 2011 00:19:50
Problema Fibo3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<stdio.h>
#include<fstream>
#include<iostream>s
using namespace std;

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

#define MaxN 1000
#define ll long long
#define MaxFib (1LL*1000*1000*1000*1000*1000*1000)
#define MaxC 3

ll N,nr,x[MaxC],y[MaxC],MIN,MAX,sol;
ll Fibo[MaxN];

void Fibo3(void)
{
	Fibo[0] = Fibo[1] = 1;
	for(nr=2;Fibo[nr-1] <= MaxFib;nr++)
		Fibo[nr] = Fibo[nr-1] + Fibo[nr-2];
}

inline ll min(ll a,ll b)
{
	return a < b ? a:b;
}

inline ll max(ll a,ll b)
{
	return a > b ? a:b;
}

int main()
{
	Fibo3();
	f >> N;
	for(int i=1;i<=N;i++)
	{
		sol = 0;
		f >> x[1] >> y[1] >> x[2] >> y[2];
		for(int i=1;Fibo[i] <= x[2] + y[2];i++)
			if(Fibo[i] >= x[1] + y[1])
				sol+=min(x[2],Fibo[i]-y[1])-max(x[1],Fibo[i]-y[2])+1;
		g << sol << "\n";
	}
	return 0;
}