QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#641730 | #7781. Sheep Eat Wolves | jingjingya | WA | 0ms | 3684kb | C++14 | 1.9kb | 2024-10-14 22:51:28 | 2024-10-14 22:51:28 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 +10;
#define int long long
#define ll int
#define double long double
#define F(i,a,b) for(int i=(a);i<=(b);i++)
#define G(i,a,b) for(int i=(a);i>=(b);i--)
#define ms(a,b) memset(a,b,sizeof(a))
#define si(a) ((int)(a).size())
#define all(a) (a).begin(),(a).end()
#define fi first
#define se second
#define pb push_back
#define fori(x,y) for(int i=x;i<=(int)y;++i)
#define forj(x,y) for(int j=x;j<=(int)y;++j)
const ll MOD = 998244353;
ll qpow(ll a, ll b) {
ll res = 1, base = a;
while (b) {
if (b&1) res = (res*base)%MOD;
base = (base*base)%MOD;
b >>= 1;
}
return res;
}
inline ll read() {
ll sum = 0, ff = 1; char c = getchar();
while(c<'0' || c>'9') { if(c=='-') ff = -1; c = getchar(); }
while(c>='0'&&c<='9') { sum = sum * 10 + c - '0'; c = getchar(); }
return sum * ff;
}
int ls,rs,lw,rw,p,q;
int bs,bw;
signed main() {
cin>>rs>>rw>>p>>q;
if(rw-p-rs>q){
cout<<-1;
return 0;
}
int ans = 0;
/*
int minn = rs/p;
if(rs%p) minn++;
int k = rs%p;
k = min(k,p-k);
*/
if(rw>rs+q){
ans = rs/p+1;
if(rs%p) ans++;
cout<<2*ans -1<<'\n';
return 0;
}
while(rs>p){
ans++;
if(bw){
rw +=bw;
bw = 0;
}
while(bs+bw<p&&rw<rs+q){
rs--;
bs++;
}
while(rw&&rs&&bs+bw<=p-2){
rs--;
rw--;
bs++;
bw++;
}
while(ls+bs+q>lw+bw&&bs+bw<=p-1&&rw){
rw--;
bw++;
}
if(bs){
ls +=bs;
bs=0;
}
while(bw&&lw<ls+q){
bw--;
lw++;
}
}
if(rs){
ans++;
}
cout<<2*ans -1<<'\n';
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3496kb
input:
4 4 3 1
output:
3
result:
ok 1 number(s): "3"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3624kb
input:
3 5 2 0
output:
5
result:
ok 1 number(s): "5"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3532kb
input:
2 5 1 1
output:
-1
result:
ok 1 number(s): "-1"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
1 1 1 0
output:
1
result:
ok 1 number(s): "1"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3664kb
input:
3 3 1 1
output:
7
result:
ok 1 number(s): "7"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3532kb
input:
3 3 2 1
output:
3
result:
ok 1 number(s): "3"
Test #7:
score: 0
Accepted
time: 0ms
memory: 3676kb
input:
10 9 1 10
output:
19
result:
ok 1 number(s): "19"
Test #8:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
15 20 2 5
output:
27
result:
ok 1 number(s): "27"
Test #9:
score: 0
Accepted
time: 0ms
memory: 3588kb
input:
18 40 16 7
output:
5
result:
ok 1 number(s): "5"
Test #10:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
60 60 8 1
output:
27
result:
ok 1 number(s): "27"
Test #11:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
60 60 8 4
output:
27
result:
ok 1 number(s): "27"
Test #12:
score: 0
Accepted
time: 0ms
memory: 3496kb
input:
60 60 8 8
output:
25
result:
ok 1 number(s): "25"
Test #13:
score: 0
Accepted
time: 0ms
memory: 3624kb
input:
60 60 16 1
output:
13
result:
ok 1 number(s): "13"
Test #14:
score: 0
Accepted
time: 0ms
memory: 3684kb
input:
60 60 16 8
output:
11
result:
ok 1 number(s): "11"
Test #15:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
60 60 16 16
output:
11
result:
ok 1 number(s): "11"
Test #16:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
60 60 16 24
output:
9
result:
ok 1 number(s): "9"
Test #17:
score: 0
Accepted
time: 0ms
memory: 3492kb
input:
75 15 1 1
output:
175
result:
ok 1 number(s): "175"
Test #18:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
50 100 1 0
output:
-1
result:
ok 1 number(s): "-1"
Test #19:
score: 0
Accepted
time: 0ms
memory: 3616kb
input:
100 100 10 10
output:
35
result:
ok 1 number(s): "35"
Test #20:
score: 0
Accepted
time: 0ms
memory: 3664kb
input:
100 100 10 1
output:
37
result:
ok 1 number(s): "37"
Test #21:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
100 100 10 20
output:
33
result:
ok 1 number(s): "33"
Test #22:
score: 0
Accepted
time: 0ms
memory: 3528kb
input:
100 100 10 30
output:
31
result:
ok 1 number(s): "31"
Test #23:
score: 0
Accepted
time: 0ms
memory: 3488kb
input:
100 100 10 80
output:
21
result:
ok 1 number(s): "21"
Test #24:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
100 100 1 100
output:
199
result:
ok 1 number(s): "199"
Test #25:
score: -100
Wrong Answer
time: 0ms
memory: 3588kb
input:
100 100 5 0
output:
97
result:
wrong answer 1st numbers differ - expected: '95', found: '97'