Cod sursa(job #2003357)
Utilizator | Victor Popa victore | Data | 22 iulie 2017 18:42:49 |
---|---|---|---|
Problema | Fibo3 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include<cstdio>
#include<algorithm>
using namespace std;
const int nmax=1e5+5;
long long fib[nmax];
int main()
{
freopen("fibo3.in","r",stdin);
freopen("fibo3.out","w",stdout);
long long i,n,j;
scanf("%lld",&n);
fib[1]=fib[2]=1;
for(i=3;i<=100;++i)
fib[i]=fib[i-1]+fib[i-2];
for(i=1;i<=n;++i)
{
long long x1,sol=0,y1,x2,y2;
scanf("%lld%lld%lld%lld",&x1,&y1,&x2,&y2);
for(j=2;j<=100&&fib[j]<=x2+y2;++j)
if(fib[j]>=x1+y1)
sol+=min(x2,fib[j]-y1) - max(x1,fib[j]-y2)+1;
printf("%lld\n",sol);
}
}