Problem
Bir bilgisayar donanımı şirketinde, tüm ürünler sırasıyla 1
'den N
'e kadar numaralandırılır. Her ürün, imalatından sonra kalite kontrol departmanına girer, orada kontrol edilir ve ya satışa çıkar ya da kusurlu ürünler listesine girip silinir. Ne yazık ki, kusurlu ürünlerin listesi bazen çok uzundur. Ardından, bunu azaltmak için ardışık sayılar bir aralıkla değiştirilir: aralığın ilk ve son öğelerinin sayıları kısa çizgi ile gösterilir.
Örneğin,
yerine
1,3,4,5,6,7,8,10,12,16,17,20,21,22,23,24
kaydedildi
1,3-8,10,12,16-17,20-24
Arızalı ürün numaralarının tam listesi verildiğinde, bu listeyi kısaltılmış biçimde görüntüleyecek bir program yazın.
Giriş
İlk satıra önce toplam ürün sayısı olan N
sayısını, ardından kusurlu olduğu ortaya çıkan ürün sayısı olan M
sayısını girin. İkinci satırda kusurlu ürün sayısını artan sırada ürünlere girin.
Çıktı
Bir satırda, kısaltılmış formda kusurlu öğelerin listesinin çıktısını alın. Aralıklar virgülle ayrılmalıdır. Dizede boşluk olmamalıdır.
Sınırlar
1<=M<=N<=1000000
.
Örnekler
# |
Girdi |
Çıktı |
şey>
1 |
10 5
1 3 5 7 9
|
1,3,5,7,9 |
2 |
40 16
1 3 4 5 6 7 8 10 12 16 17 20 21 22 23 24
|
1,3-8,10,12,16-17,20-24 |
3 |
11 11
1 2 3 4 5 6 7 8 9 10 11
|
1-11 |
4 |
10000 1
5
|
5 |
Запрещенные операторы: sort
; min
; max
; reverse
; count
; sum
; index