Pagini recente » Cod sursa (job #1926634) | Cod sursa (job #974681) | Cod sursa (job #1281084) | Cod sursa (job #1701752) | Cod sursa (job #552481)
Cod sursa(job #552481)
#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;
}