Codechef September Long Challenge
#include <bits/stdc++.h>
using namespace std;
class integer{
public:
int digmin(){
int a, b, c, d, e, sum, min, sum2;
cin >> a;
for (int i=0; i<a; i++) {
cin>>b>>c>>d;
if (b>=c&&b<=d)
{
cout<<b<<endl;
continue;
}
if (b<c)
{
cout<<c<<endl;
continue;
}
sum2 = INT_MAX;
min = 0;
while (c<d&&(b/d)<d) {
int temp1=b/d,temp2=b%d;
if (sum2>temp1+temp2) {
sum2=temp1+temp2;
min=d;
}
d=b/(temp1 + 1);
}
while(c<=d) {
e=b;
sum=0;
for(;;)
{
if(e<c)
{
sum = sum + e;
if (sum<sum2) {
min=c;
sum2=sum;
}
break;
}
sum = sum + (e % c);
e =(e/c);
if(sum>=sum2)
break;
}
c++;
}
cout<<min<<endl;
}
}
};
int main() {
integer A;
A.digmin();
return 0;
}
0 Comments