SPECIALBAG


Gửi bài giải

Điểm: 50
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G

Tác giả:
Kiểu bài tập
Ngôn ngữ cho phép
C++, Python

HD có một chiếc túi đặc biệt:

  • Tại một thời điểm có thể thêm vào 1 đồng tiền vàng;
  • Có thể loại bỏ ra khỏi túi đồng tiền cuối cùng được thêm vào túi.

Harry có n đồng tiền vàng a₁, a₂, …, aₙ.

Tại mỗi thời điểm, Harry có thể thực hiện một trong hai thao tác sau:

  • Harry: Harry sẽ đưa cho HD một đồng tiền vàng để cho vào túi của HD. Các đồng tiền được đưa vào theo thứ tự từ a₁ đến aₙ;
  • Remove: yêu cầu HD loại bỏ khỏi túi 1 đồng tiền vàng cuối cùng được thêm vào.

Harry có tổng cộng Q thao tác.

Hãy cho biết thời điểm đầu tiên mà tổng giá trị các đồng tiền vàng trong túi của HD bằng X, khi đó trong túi có bao nhiêu đồng tiền vàng.

INPUT

  • Dòng đầu tiên chứa số nguyên dương n (1 ≤ n ≤ 10⁴);
  • Dòng thứ hai chứa n số nguyên dương a₁, a₂, …, aₙ (1 ≤ aᵢ ≤ 10⁴);
  • Dòng tiếp theo chứa hai số nguyên dương Q, X (1 ≤ Q ≤ 10⁵, 1 ≤ X ≤ 10⁷);
  • Q dòng tiếp theo, dòng thứ i ghi một xâu ký tự là thao tác thứ i, thuộc một trong hai dạng:
    • Harry;
    • Remove.

OUTPUT

Ghi ra một số nguyên duy nhất là đáp án của bài toán.

Nếu trong túi không thể có tổng giá trị bằng X thì ghi -1.

Ví dụ

Sample Input
4
3 1 1 4
6 7
Harry
Harry
Harry
Remove
Remove
Harry
Sample Output
2
Giải thích

Các thao tác lần lượt được thực hiện:

  • Sau thao tác 1: túi có 3, tổng bằng 3;
  • Sau thao tác 2: túi có 3, 1, tổng bằng 4;
  • Sau thao tác 3: túi có 3, 1, 1, tổng bằng 5;
  • Sau thao tác 4: loại bỏ đồng tiền cuối cùng, túi còn 3, 1, tổng bằng 4;
  • Sau thao tác 5: loại bỏ đồng tiền cuối cùng, túi còn 3, tổng bằng 3;
  • Sau thao tác 6: thêm đồng tiền tiếp theo, túi có 3, 4, tổng bằng 7.

Tại thời điểm đầu tiên tổng giá trị các đồng tiền trong túi bằng 7, trong túi có 2 đồng tiền vàng.

```


Nhận xét

Không có ý kiến tại thời điểm này.