Help needed in Packing Rectangles (Binary Search)
Difference between en1 and en2, changed 95 character(s)
Problem Link: https://codeforces.me/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)