#include<bits/stdc++.h>
using namespace std;
long long n2,n1;
int f(long long m)
{
long long d=m-n1;
d=max(1LL*0,d);
long long f=n1,s=n2;
s-=2*d;
if(s>=2*m)
return 1;
return 0;
}
int main()
{
long long int n,i,sum=0,p=1,ans=1,d;
scanf("%lld %lld",&n1,&n2);
long long start=0,end=1e15,mid;
while(end-start>1)
{
//printf("%lld",mid);
mid=(start+end)/2;
if(f(mid))
{
start=mid;
}
else
end=mid-1;
}
if(f(end))
printf("%lld",end);
else if(f(mid))
printf("%lld",mid);
else
printf("%lld",start);
}
./Main.cpp: In function ‘int main()’:
./Main.cpp:17:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%lld %lld",&n1,&n2);
^