import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int n = in.nextInt(); int[] a = new int[n]; for (int i = 0; i < n; i++) a[i] = in.nextInt(); HashSet<Integer> set = new HashSet<>(); int l = 0, r = 0; TreeMap<Integer, Integer> res = new TreeMap<>(); int maxLen = 0; while (r < n) { while (set.contains(a[r])) { set.remove(a[l]); l++; } set.add(a[r]); if (r - l + 1 > maxLen) { maxLen = r - l + 1; res.clear(); res.put(l + 1, r + 1); } else if (r - l + 1 == maxLen) { res.put(l + 1, r + 1); } r++; } System.out.println(res.keySet().size()); Iterator itr = res.keySet().iterator(); while (itr.hasNext()) { int key = (int)itr.next(); System.out.println(String.format("%d %d", key, res.get(key))); } } }