Lê Thành Nhân • 11 tháng trước
em có thắc mắc ở test case số 11, với dữ liệu đầu vào:
15 4 7
Với y = 7, nếu muốn lấy đủ 7 sinh viên nữ thì ta phải duyệt mảng đến index 14. Nếu kết quả là 13 (như trong test case) thì y chỉ bằng 6
Mã nguồn của em để xử lý riêng test case 11 như sau:
using namespace std; int main(){
long long int n,x,y;
cin >> n >> x >> y;
int a[n];
for(long long int i=0;i<n;i++){
cin >> a[i];
}
long long int cntx=0,cnty=0;
int fullx=0,fully=0;
int posx=0,posy=0;
int active=0;
for(long long int i=0;i<=n;i++){
if(fullx==1 && fully==1){
//cout << "du x,y";
active=1;
break;
}
if(a[i]==1 && fullx==0){
cntx++;
if(cntx==x){
fullx=1;
//cout << "da full x" << endl;
posx=i+1;
}
}
if(a[i]==0 && fully==0){
cnty++;
if(cnty==y){
fully=1;
//cout << "da full y" << endl;
posy=i+1;
}
}
}
if(active==0){
cout << "0";
}else{
if(posx > posy){
cout << posx;
}else{
cout << posy;
}
}
}
Bình luận: