Solution wrongly hacked
Разница между en2 и en3, 120 символ(ов) изменены
So this is not a post accussing someone but more of a post for understanding the problem.↵

I was giving Codeforces 944 Div 4. I had done 5 problems but the next day it shows that the solution to my 5th problem has been hacked. I took the hack test case and when I ran it on my local machine, the answer matched the expected output but when I ran it on codeforces, it shows some deviation from the expected output.↵

The code↵
~~~~~↵
void takeArrayInput(vector<ll>& arr, int l){↵
    for(ll i = 1; i < l; i++){↵
        cin >> arr[i];↵
    }↵
}↵
 ↵
void print(vector<ll>& arr){↵
    for(int i = 0; i < arr.size(); i++){↵
        cout << arr[i] << " ";↵
    }↵
 ↵
    cout << "\n";↵
}↵
 ↵
void solve(){↵
    ll n, k, q;↵
    cin >> n >> k >> q;↵
    vector<ll> a(k + 1, 0), b(k + 1, 0);↵
    ↵
    takeArrayInput(a, k + 1);↵
    takeArrayInput(b, k + 1);↵
 ↵
    for(int i = 0; i < q; i++){↵
        ll d;↵
        cin >> d;↵
        ll l = 0, r = k, ind = 0;↵
        while(r >= l){↵
            ll mid = l + (r - l) / 2;↵
            if(a[mid] <= d){↵
                ind = mid;↵
                l = mid + 1;↵
            } else r = mid - 1;↵
        }↵
 ↵
        if(a[ind] == d){↵
            cout << b[ind] << " ";↵
            continue;↵
        }↵
 ↵
        double dist = a[ind + 1] - a[ind];↵
        double time = b[ind + 1] - b[ind];↵
 ↵
        double speed = dist / time;↵
 ↵
        ll timeTaken = b[ind] + (d - a[ind]) / speed;↵
        cout << timeTaken << " "; ↵
 ↵
    }↵
    cout <<"\n";↵
}↵
 ↵
int main()↵
{↵
    int T;↵
    cin>>T;↵
    while(T--)↵
    {↵
        solve();↵
    }↵
    return 0;↵
}↵
~~~~~↵

The Test Case↵
~~~~~↵
1↵
45 16 33↵
6 26 28 32 34 35 36 37 38 39 40 41 42 43 44 45↵
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60↵
26↵
9↵
15↵
2↵
14↵
44↵
20↵
28↵
29↵
11↵
23↵
40↵
15↵
45↵
17↵
9↵
7↵
15↵
29↵
28↵
19↵
5↵
36↵
18↵
3↵
40↵
9↵
22↵
32↵
26↵
3↵
1↵
13↵
~~~~~↵

for the 4th query the answer should be 15 but my solution when ran on codeforces servers produces the answer 14.↵

I know that instead of calcuating speed I could have just used dist and time in the final expression but still I want to know why my answer comes out correct on my local but is wrong on codeforces.↵


![ ](https://mirror.codeforces.com/3597f4/local.png)↵



/predownloaded/d6/c9/d6c9f1f5e14f498343f17c425614506430a815a8.png
Please help.

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en4 Английский heinous_coder 2024-07-16 08:54:25 46
en3 Английский heinous_coder 2024-05-11 09:14:37 120 Removed Images as the links were not working.
en2 Английский heinous_coder 2024-05-11 09:10:55 319 Issue with image links
en1 Английский heinous_coder 2024-05-11 09:07:33 2579 Initial revision (published)