Solution wrongly hacked

Правка en1, от heinous_coder, 2024-05-11 09:07:33

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 ~~~~~

include<bits/stdc++.h>

using namespace std; typedef long long ll;

define MOD 1000000007

define mod(a) a%MOD

define pmod(a,b) (((a%MOD)*(b%MOD))%MOD)

// const int N=0;

void takeArrayInput(vector& arr, int l){ for(ll i = 1; i < l; i++){ cin >> arr[i]; } }

void print(vector& 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 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://codeforces.me/3597f4/Screenshot from 2024-05-11 11-15-51.png)

![ ](https://codeforces.me/3efae8/Screenshot from 2024-05-11 11-15-38.png)

Теги hacking, contest, online judge

История

 
 
 
 
Правки
 
 
  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)