trang chủ / đề bài / dhbb23_clc_10_a

ARRAY

Đề bài

Mô tả

Năm nay, trường THPT Chuyên HN có lớp 10 chuyên Tin. Thầy Hùng được phân công chủ nhiệm lớp, nghe nói Hiếu là một coder, để thử tài Hiếu thầy Hùng có một bài toán như sau: Thầy viết lên bảng một dãy số từ 1 đến N và một số nguyên S.

Yêu cầu: Hiếu được phép thực hiện một vài phép biến đổi (hoặc không làm gì cả). Ở mỗi phép biến đổi, Hiếu chọn một số bất kì trong dãy số và đặt một dấu trừ phía trước số đó. Hỏi sau khi thực hiện việc này, tổng các số trong dãy vừa biến đổi (gồm cả các số mang dấu trừ và các số giữ nguyên) có bằng S hay không.

Dữ liệu vào

  • Dòng đầu tiên chứa T (1≤T≤105) là số lượng câu hỏi.
  • T dòng tiếp theo, dòng thứ i lần lượt chứa hai số Ni,Si biểu thị truy vấn gồm số phần tử của dãy (từ 1 đến Ni) và tổng cần đạt được.

Dữ liệu ra

In ra T dòng, dòng thứ i là đáp án cho câu hỏi thứ i. In ra "YES" (không bao gồm ngoặc kép) nếu có thể biến đổi ra tổng Si, còn không thì in ra "NO" (không bao gồm ngoặc kép).

Ràng buộc

  • 1≤T≤105.
  • 1≤Ni≤105.
  • |Si|≤1018.

Subtasks

  • Subtask 1 (20% số test): T≤1000, N≤20, |S|≤1018.
  • Subtask 2 (30% số test): T≤10000, N≤100, |S|≤1018.
  • Subtask 3 (50% số test): T≤100000, N≤100000, |S|≤1018.

Ví dụ

Input Output Giải thích
2
3 5
12 -48
NO
YES
Với N=3: tổng 1+2+3=6, đặt dấu trừ trước số x làm tổng giảm 2x, nên tổng luôn chẵn và không thể bằng 5. Với N=12: đặt dấu trừ trước các số 6,7,…,12 (tổng 63) thì tổng là 78−2·63=−48.
4
1 -1
1 0
4 -10
4 -12
YES
NO
YES
NO
N=1: chỉ được 1 hoặc −1. N=4: đặt dấu trừ trước cả bốn số được −10, đây là tổng nhỏ nhất nên −12 không đạt được.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0