Witam
Napisałem następujący kod pod zadanie na SPOJ:
http://www.spoj.com/problems/PALIN/
Zgodnie z testami na konsoli wszystko wychodzi jak należy, ale SPOJ wyrzuca "wrong answer". W związku z czym proszę o sprawdzenie kodu, ewentualnie podpowiedzenie jakiegoś skrajnego przypadku, dla którego moja aplikacja wypluwa zły wynik.

#include <iostream>

using namespace std;

int main()
{
    int k=0,n=0,pow=1,score=0,z=0;
    int table[6];
    cin>>z;
    for(int i=0;i<z;i++)
    {
        cin>>k;
        ++k;
        if(k>999999)
        {
            cout<<1000001;
            break;
        }

        n=0;
        for(int i=0;i<6;i++)
        {
            table[i]=0;
        }
        while(k>0)
        {
            table[5-n]=k%10;
            k=k/10;
            ++n;
        }

        for(int i=0; i<n/2;i++)
        {
            if(table[5-i]<table[6-n+i])
            {
                table[5-i]=table[6-n+i];
            }
            if(table[5-i]>table[6-n+i])
            {
                ++table[5-i-1];
                table[5-i]=table[6-n+i];
            }
        }

        pow=1;
        score=0;
        for(int i=0;i<n;i++)
        {
            score+=table[5-i]*pow;
            pow*=10;
        }
        cout<<score<<endl;
    }
}