QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#633765#7781. Sheep Eat WolvesCCFRE 0ms3852kbC++141.0kb2024-10-12 16:10:072024-10-12 16:10:08

Judging History

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

  • [2024-10-12 16:10:08]
  • 评测
  • 测评结果:RE
  • 用时:0ms
  • 内存:3852kb
  • [2024-10-12 16:10:07]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pii pair<int,int>
#define fs first
#define sc second
#define pb push_back
#define SZ(X) (int)((X).size())
#define lb(i) ((i)&-(i))
#define cl(i) memset(i,0,sizeof(i))
const int N=6.1e3;
int solve(int x,int y,int p,int q,int a,int b){
    int side=0,nw=0,cnt=0;
    for(;x>0;side^=1){
        cnt++;
        if(side==0){
            if(x<=p-nw)return cnt;
            while(nw<p){
                while(nw<p&&y-x<q)x--,a++,nw++;
                if(nw<p)y--,b++,nw++;
            }
            if(y-x>q)return 1e9;
            nw=0;
        }
        if(side==1){
            //x>0
            while(a>0&&nw<p&&b-a>q)b--,y++,nw++;
            assert(a==0||b-a<=q);////
            nw=0;
        }
    }
    return cnt;
}
int main(){
    int x,y,p,q;
    cin>>x>>y>>p>>q;
    int mn=solve(x,y,p,q,0,0);
    for(int i=1;i<=p;i++)mn=min(mn,solve(x,y-i,p,q,0,i)+2);

    if(mn>1e9)puts("-1");
    else printf("%d\n",mn);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

4 4 3 1

output:

3

result:

ok 1 number(s): "3"

Test #2:

score: -100
Runtime Error

input:

3 5 2 0

output:


result: