解题思路
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;
}
京公网安备 11010502036488号