QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#660557#7781. Sheep Eat WolvesoumashuWA 0ms3672kbC++172.0kb2024-10-20 12:02:312024-10-20 12:02:32

Judging History

你现在查看的是最新测评结果

  • [2024-10-20 12:02:32]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3672kb
  • [2024-10-20 12:02:31]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int main(){
    int x,y,p,q,m=0,n=0,sum=0;
    cin>>x>>y>>p>>q;
    if(p!=1){
        while(1){
            int ans=y-x-q;
            //cout<<ans<<"\n";
            if(p>=x){ sum++; break; }
            if(p<ans){ cout<<-1; return 0; }
            if(ans>0){
                y-=ans;
                x-=(p-ans)/2;
                y-=(p-ans)/2;
                m+=(p-ans)/2;
                n+=ans+(p-ans)/2;
                sum++;
            }
            else if(ans<0){
                x+=ans;
                x-=(p+ans)/2;
                y-=(p+ans)/2;
                m+=(p+ans)/2-ans;
                n+=(p+ans)/2;
                sum++;
            }
            else if(ans==0){
                x-=p/2;
                y-=p/2;
                m+=p/2;
                n+=p/2;
                sum++;
            }
            //cout<<n<<"\n";
            int ans2=n-m-q;
            if(p<ans2){
                cout<<-1;
                return 0;
            }
            if(ans2>0&&m!=0){
                n-=ans2;
                y+=ans2;
                
            }
            sum++;
            //cout<<x<<" "<<y<<" "<<m<<" "<<n<<"\n";
            if(x<=0)break;
        }
    }
    else {
            while(1){
                int ans=y-x-q;
                if(ans>p){
                    cout<<-1;
                    return 0;
                }
                if(x<=p){
                    sum++;
                    break;
                }
                if(ans>0){
                     y--;
                     n++;
                     sum++;
                }
                else if(ans==0){
                    y--;
                    n++;
                    sum++;
                }
                else if(ans<0){
                    x--;
                    m++;
                    sum++;
                }
                sum++;
            }

    }
    cout<<sum;
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3552kb

input:

4 4 3 1

output:

3

result:

ok 1 number(s): "3"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

3 5 2 0

output:

5

result:

ok 1 number(s): "5"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

2 5 1 1

output:

-1

result:

ok 1 number(s): "-1"

Test #4:

score: 0
Accepted
time: 0ms
memory: 3548kb

input:

1 1 1 0

output:

1

result:

ok 1 number(s): "1"

Test #5:

score: 0
Accepted
time: 0ms
memory: 3532kb

input:

3 3 1 1

output:

7

result:

ok 1 number(s): "7"

Test #6:

score: 0
Accepted
time: 0ms
memory: 3604kb

input:

3 3 2 1

output:

3

result:

ok 1 number(s): "3"

Test #7:

score: 0
Accepted
time: 0ms
memory: 3528kb

input:

10 9 1 10

output:

19

result:

ok 1 number(s): "19"

Test #8:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

15 20 2 5

output:

27

result:

ok 1 number(s): "27"

Test #9:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

18 40 16 7

output:

5

result:

ok 1 number(s): "5"

Test #10:

score: 0
Accepted
time: 0ms
memory: 3532kb

input:

60 60 8 1

output:

27

result:

ok 1 number(s): "27"

Test #11:

score: 0
Accepted
time: 0ms
memory: 3432kb

input:

60 60 8 4

output:

27

result:

ok 1 number(s): "27"

Test #12:

score: 0
Accepted
time: 0ms
memory: 3540kb

input:

60 60 8 8

output:

25

result:

ok 1 number(s): "25"

Test #13:

score: 0
Accepted
time: 0ms
memory: 3552kb

input:

60 60 16 1

output:

13

result:

ok 1 number(s): "13"

Test #14:

score: 0
Accepted
time: 0ms
memory: 3536kb

input:

60 60 16 8

output:

11

result:

ok 1 number(s): "11"

Test #15:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

60 60 16 16

output:

11

result:

ok 1 number(s): "11"

Test #16:

score: 0
Accepted
time: 0ms
memory: 3504kb

input:

60 60 16 24

output:

9

result:

ok 1 number(s): "9"

Test #17:

score: 0
Accepted
time: 0ms
memory: 3504kb

input:

75 15 1 1

output:

175

result:

ok 1 number(s): "175"

Test #18:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

50 100 1 0

output:

-1

result:

ok 1 number(s): "-1"

Test #19:

score: 0
Accepted
time: 0ms
memory: 3448kb

input:

100 100 10 10

output:

35

result:

ok 1 number(s): "35"

Test #20:

score: 0
Accepted
time: 0ms
memory: 3532kb

input:

100 100 10 1

output:

37

result:

ok 1 number(s): "37"

Test #21:

score: 0
Accepted
time: 0ms
memory: 3452kb

input:

100 100 10 20

output:

33

result:

ok 1 number(s): "33"

Test #22:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

100 100 10 30

output:

31

result:

ok 1 number(s): "31"

Test #23:

score: 0
Accepted
time: 0ms
memory: 3504kb

input:

100 100 10 80

output:

21

result:

ok 1 number(s): "21"

Test #24:

score: 0
Accepted
time: 0ms
memory: 3472kb

input:

100 100 1 100

output:

199

result:

ok 1 number(s): "199"

Test #25:

score: -100
Wrong Answer
time: 0ms
memory: 3552kb

input:

100 100 5 0

output:

97

result:

wrong answer 1st numbers differ - expected: '95', found: '97'