rt,一个点 1.03s 一直过不去。
#include<cstdio>
#include<iostream>
using namespace std;
int main() {
freopen("square.in","r",stdin);
freopen("square.out","w",stdout);
long long n,ans; scanf("%lld",&n),ans=n-1;
for(int i=2;1ll*i*i<=n;i++)
if(!(n%i)) {
long long m=n/i; ans=min(ans,i+m-2);
for(int j=i;1ll*j*j<=m;j++) if(!(m%j)) ans=min(ans,i+j+m/j-3);
}
printf("%lld %lld",ans,n-1);
return 0;
}