Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.util.Scanner;
- import java.util.StringTokenizer;
- public class Main {
- public static void main(String[] args) {
- InputReader in = new InputReader(System.in);
- int n = in.nextInt();
- int[] arr = new int[n];
- int[] prefixSum = new int[n];
- int sum = 0;
- for (int i = 0; i < n; i++) {
- arr[i] = in.nextInt();
- sum += arr[i];
- prefixSum[i] = sum;
- }
- int j = n - 1;
- while (j >= 0 && prefixSum[j] == 0) j--;
- int index = 0;
- while (index < n && prefixSum[index] == 0) index++;
- if (index == j || j == -1) {
- System.out.println("NO");
- return;
- }
- System.out.println("YES");
- if (n >= 2) {
- System.out.println(2);
- } else {
- System.out.println(1);
- }
- System.out.println(new StringBuilder().append("1 ").append(j));
- if (n >= 2) {
- System.out.println(new StringBuilder().append(j + 1).append(' ').append(n));
- }
- }
- }
- class InputReader {
- BufferedReader reader;
- StringTokenizer tokenizer;
- public InputReader(InputStream stream) {
- reader = new BufferedReader(new InputStreamReader(stream));
- tokenizer = null;
- }
- public String next() {
- while (tokenizer == null || !tokenizer.hasMoreTokens()) {
- try {
- tokenizer = new StringTokenizer(reader.readLine());
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- return tokenizer.nextToken();
- }
- public long nextLong() {
- return Long.parseLong(next());
- }
- public int nextInt() {
- return Integer.parseInt(next());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement