XDOJ回文数得不全分

XDOJ回文数,得了80分

#include
using namespace std;
int g(int n){
    int cnt=0;
    for(int i=1;i<=1000000000;i=i*10){
        if(n/i!=0)
        cnt++;
    }
    return cnt;
}
int main(){
    int n,i,j;
    scanf("%d",&n);
    int m=g(n);
    int a[m],b[m];
    m-=1;
    for(i=0;i<=g(n)-1;i++){
        a[i]=n/int(pow(10,i))%10;
        b[m]=n/int(pow(10,i))%10;
        m--; 
    } 
    m=g(n)-1;
    int res=0;
    for(j=0;j<=m;j++){
        if(a[j]==b[j]){
            res+=a[j];
            if(j==m)
            printf("%d",res);
        }
        else{
            printf("no");
            break;
        }
    
    }
    return 0;

}


可以运行但是80分
哪位可以解答一下为什么吗