Davis zona okruzno 2016 pomoc

#include <iostream>

using namespace std;

int main()
{
    int a,b,c,d,x,y,dx,dy,deltax,deltay,k,tx[1000],ty[1000];
    cin >> a >> b;// velicina pravougaonika gde je a x, a b y
    cin >> c >> d;//velicina davisove zone
    cin >> x >> y;//gornje levo polje pravougaonika cd
    cin >> dx >> dy;//njegove pocetne koordinate
    cin >> deltax >> deltay >> k;//1-dole 1-desno -1-gore -1-levo, k broj udara u zid
    tx[0]=dx;
    ty[0]=dy;
    for(int i=1;i<1000;i++)
    {
    tx[i]=tx[i-1]+deltax;
    ty[i]=ty[i-1]+deltay;
    if((tx[i] == 1 && tx[i] != tx[i-1] )|| (tx[i] == a && tx[i] != tx[i-1]))
    {
    deltax=-deltax; 
    k--;
    }
    if((ty[i] == 1 && ty[i] != ty[i-1] )||( ty[i] == b && ty[i] != ty[i-1]))
    {
    deltay=-deltay;
    k--;
    }
    if(tx[i]>= x && tx[i]<=a && ty[i]<=b && ty[i]>=y && k>=0)
    {
    cout << tx[i] << " " << ty[i] << endl;
    return 0;
    }
    }
    cout << "NE" << endl;
    return 0;
}

Dobijam WA na 50 posto primera, stvarno sam bez ideje ima li neko ideju sta radim pogresno ?