Why double coins = (double)(k+l)/m and then ceil(coins) works
And this one faila for case 28
ll long long int main() { ll n,m,k,l; cin>>n>>m>>k>>l;
ll coins = ceil((double)(k+l)/m);
if(k+l > n || coins*m > n)
{
cout<<"-1"<<endl;
}
else {
cout<<coins<<endl;
}
//main();}
Thanks in advance









Auto comment: topic has been updated by yashgulani (previous revision, new revision, compare).
Auto comment: topic has been updated by yashgulani (previous revision, new revision, compare).
Always try to stick to integers.
In this case it's equivalent (mathematically) to
ll coins = (k+l+m-1)/m;I faced the same problem. But it's working fine with long double.