Submission #2403133


Source Code Expand

#include <bits/stdc++.h> 
using namespace std;
long long n,m,i,j,ans,x,y,l,r,mid;
int main(){
	cin>>n;
	while (n--){
		cin>>x>>y;
		if (x==1&&y==1){
			cout<<"0\n";
			continue;
		}
		if (x==y||abs(x-y)==1){
			cout<<(min(x,y)-1)*2<<endl;
			continue;
		}
		ans=0;l=0;r=0x3fffffff;
		while (l<r){
			mid=(l+r)/2;
			if (mid*mid<x*y){
				ans=mid;
				l=mid+1;
			}
			else r=mid;
		}
		//cerr<<ans<<endl;
		if (ans*(ans+1)>=x*y){
			cout<<ans*2-2<<endl;
			continue;
		}
		cout<<ans*2-1<<endl;
	}
	return 0;
}

Submission Info

Submission Time
Task D - Worst Case
User dynamicI
Language C++14 (GCC 5.4.1)
Score 700
Code Size 541 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 1
AC × 12
Set Name Test Cases
Sample s1.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, s1.txt
Case Name Status Exec Time Memory
01.txt AC 1 ms 256 KB
02.txt AC 1 ms 256 KB
03.txt AC 1 ms 256 KB
04.txt AC 1 ms 256 KB
05.txt AC 1 ms 256 KB
06.txt AC 1 ms 256 KB
07.txt AC 1 ms 256 KB
08.txt AC 1 ms 256 KB
09.txt AC 1 ms 256 KB
10.txt AC 1 ms 256 KB
11.txt AC 1 ms 256 KB
s1.txt AC 1 ms 256 KB