为什么我此题错了?请求帮助

原题

题目描述

有两个士兵对战,第一名的血量为a1,伤害为b1,攻击速度为b1点伤害/每v1秒,第二名的血量为a2,伤害为b2,攻击速度为b2点伤害/每v2秒。现在请你判断他们谁胜谁负,即某一时刻一方生命值为0时,另一方获胜。

注意:攻击指的是每v秒一次性造成b点伤害,在第0秒双方会互相攻击一次。

输入

仅一行,六个正整数a1, b1, v1, a2, b2, v2。

输出

仅一行,一个字符,如果第一个士兵获胜,则输出一个字符A,如果第二个士兵获胜,则输出一个字符B,否则输出0。

样例输入

1000 100 2 500 250 3

样例输出

A

提示

对于30%的数据,a1,b1,v1,a2,b2,v2≤1000。
对于100%的数据,0<a1,b1,v1,a2,b2,v2≤5×104。

这其实是一道简单的题目
我想了想,写了这么个程序

#include<bits/stdc++.h>
#define chu(a,b) a/b+((a%b)>0?1:0)
using namespace std;
int a1,b1,v1,a2,b2,v2;
long long o1,o2;
int main(){
    scanf("%d %d %d %d %d %d",&a1,&b1,&v1,&a2,&b2,&v2);
    a1-=b2;
    a2-=b1;
    o1=chu(a1,b2)*v2,o2=chu(a2,b1)*v1;
    if(o1>o2)
        puts("A");
    else if(o1>o2)
        puts("B");
    else
        puts("0");    
    return 0;
}

这个答案应该是正确,为何错了??

第十三行条件写错了应该是o2>o1