Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

PTIT015I - ACM PTIT 2015 I - Hàng đợi tác vụ

Mỗi phiên làm việc, một máy tính nhận được một hàng đợi gồm N tác vụ với thời gian cần thiết để hoàn thành khác nhau. Giả sử tất cả các tác vụ luôn được thực hiện theo thứ tự vào trước, ra trước và không có ưu tiên. Trong một phiên thì máy tính chỉ có thể làm việc tối đa T phút. Hãy tính số tác vụ có thể được hoàn thành.

Ví dụ: hàng đợi bao gồm các tác vụ có thời gian hoàn thành theo thứ tự là: 45; 30; 55; 20; 80; 20. Máy tính có thời gian thực hiện tối đa là T = 180. Khi đó số tác vụ có thể hoàn thành chỉ là 4 (tác vụ thứ 5 không thể hoàn thành vì khi đó tổng thời gian là 230, lớn hơn 180, và cũng vì thế nên tác vụ thứ 6 không thể được thực hiện).

Input

Dữ liệu vào gồm nhiều bộ dữ liệu tương ứng với nhiều test. Dòng đầu ghi số bộ dữ liệu (không quá 10).

Mỗi bộ dữ liệu gồm hai dòng:

  • Dòng đầu ghi hai số N và T (với 1<=N<=50 và 1<=T<=500).
  • Dòng thứ hai ghi N số nguyên dương không quá 100, cho biết thời gian cần thiết để hoàn thành các tác vụ theo thứ tự đưa vào hàng đợi.

Output

Với mỗi bộ dữ liệu, ghi trên một dòng số tác vụ có thể được hoàn thành.

Example

Input:
2
6 180
45 30 55 20 80 20
10 60
20 7 10 8 10 27 2 3 10 5
Output:
4
5

Được gửi lên bởi:adm
Ngày:2015-04-19
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

hide comments
2024-03-19 09:34:57
#include <iostream>
#include <vector>

int main() {
int numTests;
std::cin >> numTests;

for (int i = 0; i < numTests; i++) {
int numTasks, maxTime;
std::cin >> numTasks >> maxTime;

std::vector<int> taskTimes(numTasks);
for (int j = 0; j < numTasks; j++) {
std::cin >> taskTimes[j];
}

int completedTasks = 0;
int totalTime = 0;
for (int j = 0; j < numTasks; j++) {
totalTime += taskTimes[j];
if (totalTime <= maxTime) {
completedTasks++;
} else {
break;
}
}

std::cout << completedTasks << std::endl;
}

return 0;
}
2020-02-07 15:38:19
Chú Mèo Chui Xoong: meow
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.