Help needed in Packing Rectangles (Binary Search)
Difference between en1 and en2, changed 95 character(s)
Problem Link: https://codeforces.com/edu/course/2/lesson/6/2/practice/contest/283932/problem/A

<spoiler summary="Accepted Code">↵
```cpp↵
#include<bits/stdc++.h>↵

using namespace std;↵

#define int long long↵


int a,b,n;↵

bool isfit(int mid){↵
return (mid/a)*(mid/b)>=n;↵
}↵

signed main(){↵
cin>>a>>b>>n;↵
int l=0,r=1;↵
while(isfit(r)==false){↵
r*=2;↵
}↵
while(r-l>1){↵
int mid=l+(r-l)/2;↵
if(isfit(mid)){↵
r=mid;↵
}↵
else{↵
l=mid;↵
}↵
}↵
        if(isfit(l)) cout<<l<<endl;↵
        else cout<<r<<endl;↵
}↵
```↵
</spoiler>↵

<spoiler summary="Not Accepted Code">↵
```cpp↵
#include<bits/stdc++.h>↵

using namespace std;↵

#define int long long↵


int a,b,n;↵

bool isfit(int mid){↵
return (mid/a)*(mid/b)>=n;↵
}↵

signed main(){↵
cin>>a>>b>>n;↵
int l=0,r=1;↵
while(isfit(r)==false){↵
r*=2;↵
}↵
while(r-l>1){↵
int mid=l+(r-l)/2;↵
if(isfit(mid)){↵
r=mid;↵
}↵
else{↵
l=mid+1;↵
}↵
}↵
        cout<<l<<endl;↵
}↵
```↵
</spoiler>↵

The only change in the two code is the value being assigned to l, when i normally implement binary search i use it like in the not accepted one but why in this problem its giving wrong answer?

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en2 English coder__12345 2024-02-04 00:12:50 95
en1 English coder__12345 2024-02-04 00:07:51 1141 Initial revision (published)