Advertisement
Malinovsky239

Codeforces Beta Round #34. Task C

Jun 15th, 2011
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. #include <cstdio>
  2. #define N 1002
  3.  
  4. bool print[N];
  5.  
  6. int main()
  7. {
  8.     while (1)
  9.     {
  10.         int num;
  11.         scanf("%d", &num); 
  12.         print[num] = true;
  13.         if (scanf(",") == -1) break;
  14.     }
  15.  
  16.     int start = 0;
  17.     bool first = true;
  18.  
  19.     for (int i = 1; i < N; i++)
  20.     {
  21.         if (print[i])      
  22.             if (!start) start = i;
  23.         if (!print[i])
  24.         {                      
  25.             if (start)
  26.             {                      
  27.                 if (first)
  28.                     first = false;
  29.                 else
  30.                     printf(",");                   
  31.  
  32.                 int finish = i - 1;
  33.                 if (start == finish)               
  34.                     printf("%d", start);
  35.                 else
  36.                     printf("%d-%d", start, finish);            
  37.  
  38.                 start = 0;
  39.             }          
  40.         }
  41.     }
  42.  
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement