History of OI -> VIII OI 2000/2001 -> Problems

 News About Olympic History of OI XVII OI 2009/2010 XVI OI 2008/2009 XV OI 2007/2008 XIV OI 2006/2007 XIII OI 2005/2006 XII OI 2004/2005 XI OI 2003/2004 X OI 2002/2003 IX OI 2001/2002 VIII OI 2000/2001 Stage III - results Stage II - results Stage I - results Problems Regulations Organization Hints Schedule Stats VII OI 1999/2000 VI OI 1998/1999 V OI 1997/1998 IV OI 1996/1997 III OI 1995/1996 II OI 1994/1995 I OI 1993/1994 OI books National team Olympic camps Photo gallery Links SIO MAIN
 VIII Olimpiada Informatyczna 2000/2001

 Task: PRZ Author: Wojciech Guzicki
Intervals

 I stage contest

There is given the series of n closed intervals [aibi], where i=1,2,...,n. The sum of those intervals may be represented as a sum of closed pairwise non-intersecting intervals. The task is to find such representation with the minimal number of intervals. The intervals of this representation should be written in the output file in acceding order. We say that the intervals [a; b] and [c; d] are in ascending order if, and only if a <= b < c <= d.

Write a program which:

• reads from the text file PRZ.IN the description of the series of intervals,
• computes pairwise non-intersecting intervals satisfying the conditions given above,
• writes the computed intervals in ascending order into the text file PRZ.OUT.

#### Input

In the first line of the text file PRZ.IN there is one integer n, 3 <= n <= 50000. This is the number of intervals. In the (i+1)-st line, 1 <= i <= n, there is a description of the interval [ai; bi] in the form of two integers ai and bi separated by a single space, which are respectively the beginning and the end of the interval, 1 <= ai <= bi <= 1000000.

#### Output

The text file PRZ.IN should contain descriptions of all computed pairwise non-intersecting intervals. In each line should be written a description of one interval. It should be composed of two integers, separated by a single space, the beginning and the end of the interval respectively. The intervals should be written into the output file in ascending order.

#### Examlpe

For the input file PRZ.IN:

```5
5 6
1 4
10 10
6 9
8 10
```

the correct answer is the output file PRZ.OUT:

```1 4
5 10```

Print friendly version