求救,60分,不知道哪错了
#include<bits/stdc++.h>
using namespace std;
long long n,ans;
int check(int num){
int zong=0;
while(num>=3){
int a;
a=num/3;
zong+=a*3;
num-=a*3;
num+=a;
}
zong+=num;
return zong;
}
int main(){
cin>>n;
int l=1,r=n,mid;
while(l<=r){
mid=(l+r)/2;
int s=check(mid);
if(s>n){
r=mid-1;
}
else if(s<n){
l=mid+1;
}
else{
cout<<mid;
return 0;
}
}
return 0;
}