RE on #5
#include<cstdio>
#include<cmath>
#define int long long
using namespace std;
int n,m,mm,zz,ans;
long double p,minn=10000001;
int gcd(int a,int b){
if(b==0)return a;
return gcd(b,a%b);
}
signed main(){
scanf("%lld%lld",&n,&m);
scanf("%Lf",&p);
for(int i=1;i<=m;i++){
int o=(int)(ceil(i*1.0*p));
if(o>n)break;
for(int j=o-1;j<=o+1;j++){
if(abs((long double)(j*1.0/i)-p)<=minn){
if(abs((long double)(j*1.0/i)-p)==minn)ans++;
else ans=0;
minn=abs((long double)(j*1.0/i)-p);
mm=i,zz=j;
}
}
}
int r=gcd(mm,zz);
// if(zz==0&&n%10==1&&ans)printf("TOO MANY");
// else{
if(mm==1)printf("%lld",zz);
else printf("%lld/%lld",zz/r,mm/r);
// }
}
还没加判TOO MANY