Trước hết tính tổng sum của N số đầu tiên (sum = N(N+1)/2).
Ta nhận thấy thuật tham lam sau, duyệt i từ N về 1, ta thử đặt dấu – vào trước số i thì sum lúc này giảm đi 2i (do ban đầu tất cả đều là +). Nếu tổng này nhỏ hơn S thì ta không đặt dấu – vào, trái lại thì ta đặt. Ta dùng thuật tham lam này là vì khi trừ đi một số nào đó thì những số sau (nhỏ hơn) thì chắc chắn tồn tại một số đủ cho ta trừ dần sum về S. Nếu sau cùng sum == S thì tồn tại.
Tạo một mảng đánh dấu số nào là -.
Lưu ý là do trước số 1 không được đặt dấu – nên thuật tham lam này sẽ sai trong trường hợp sau : -1+2-3+4-5 == 1-2-3-4+5
Do đó nếu a[1] = 1 (trước số 1 có dấu -) thì ta phải duyệt các số khác để tìm một cặp thích hợp hơn. Do đó thuật này là O(N^2).
Thuật tham lam này luôn đúng.