解题思路
rqy和clccle一起刷题。
因为clccle太弱了,所以说她会跳过难度较高(h >= a
)的题目,
同时,如果clccle的时间不足以切掉当前这道简单题(ct < T[i]
),那么她同时也会跳过这道简单题目。
相对的,rqy要花掉两倍的时间去切掉一道难度较高(h >= b
)的题目,但如果时间不够用(rt < 2*T[i]
),她会跳过这道题目。
有一个特殊规定,她们只会按给定的顺序刷,现在两人的刷题列表是一样的,请求出在给定时间里clccle和rqy各最多能刷多少道题目。
C++代码
#include<cstdio> #include<vector> using namespace std; int main(){ int n; long long t, a, b; scanf("%d%lld", &n, &t); scanf("%lld%lld", &a, &b); vector<long long> T(n); for(int i=0; i<n; ++i) scanf("%lld", &T[i]); int cn = 0; int rn = 0; long long ct = t; long long rt = t; long long h; for(int i=0; i<n; ++i){ scanf("%lld", &h); if(h<a && T[i]<=ct){ ++cn; ct -= T[i]; } if(h<b && T[i]<=rt){ ++rn; rt -= T[i]; } else if(h>=b && 2*T[i]<=rt){ ++rn; rt -= 2*T[i]; } } printf("%d %d\n", cn, rn); return 0; }