Pagini recente » Cod sursa (job #3273263) | Cod sursa (job #1199504) | Cod sursa (job #1481539) | Cod sursa (job #632640) | Cod sursa (job #552480)
Cod sursa(job #552480)
#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;
}