what is wrong in this solution? it is giving WA, PLEASE HELP…
Question: SVADA
#include
#include
#include
#include
#include <unordered_map>
#include <stdlib.h>
#include
#include
#include
#include <math.h>
#include <ctype.h>
#include
#include
#define ll long long int
//Pi=3.14159265358979323846264338327950
using namespace std;
ll binary_search(vectora, vectorb, vectorc, vectord, vectort, ll s, ll e, ll ans) {
ll mid = (s + e) / 2;
if (s > e)
return ans;
ll tmid1 = t[mid];
ll tmid2 = t[t.size() - 1] - t[mid];
ll coco = 0;
for (ll i = 0; i < a.size(); i++) {
if (tmid1 > a[i]) {
coco += ((tmid1 - a[i]) / b[i])+1;
}
}
for (ll i = 0; i < c.size(); i++) {
if (tmid2 > c[i]) {
coco -= ((tmid2 - c[i]) / d[i])+1;
}
}
if (coco <= 0) {
ans = max(ans,tmid1);
return binary_search(a, b, c, d, t, mid + 1, e, ans);
}
else {
return binary_search(a, b, c, d, t, 1, mid-1, ans);
}
}
int main()
{
ll t; cin >> t;
vector time(t + 1);
time[0] = -1;
for (ll i = 1; i <= t; i++)
time[i] = i;
ll m1; cin >> m1;
vector<ll> ak(m1), bk(m1);
for (ll i = 0; i < m1; i++) {
cin >> ak[i] >> bk[i];
}
ll m2; cin >> m2;
vector<ll> ck(m2), dk(m2);
for (ll i = 0; i < m2; i++) {
cin >> ck[i] >> dk[i];
}
ll ans = binary_search(ak, bk, ck, dk, time, 1, t, -1);
cout << ans << endl;
return 0;
}