Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. #include <fstream>
  2. #include <algorithm>
  3.  
  4. using namespace std;
  5.  
  6. ifstream f( "date.in" );
  7. ofstream g( "date.out" );
  8.  
  9. int v[10001], n;
  10.  
  11. void p1(){
  12.     int x, y, v[10001], v2[10001], k = 0;
  13.     f >> x;
  14.     f >> y;
  15.     v[1] = x;
  16.     v2[1] = v[1];
  17.     for( int i = 2; v[i-1] < y; ++i ){
  18.         if( i % 2 == 0 ) v[i] = v[i-1] + 1;
  19.         else v[i] = v[i-2] * 2 + 1;
  20.     }
  21.     for( int i = 1; v[i-1] < y; ++i ){
  22.         v2[++k] = v[i];
  23.     }
  24.     for( int i = k; i >= 1; --i ){
  25.         g << v2[i] << " ";
  26.     }
  27.     g << '\n';
  28. }
  29.  
  30. void p2(){
  31.     int x, y, v[10001], v2[10001], k = 1;
  32.     f >> x;
  33.     v[1] = 1;
  34.     v2[1] = v[1];
  35.     for( int i = 2; v[i-1] < x; ++i ){
  36.         if( i % 2 == 0 ) v[i] = v[i-1] + 1;
  37.         else v[i] = v[i-2] * 2 + 1;
  38.         v2[++k] = v[i];
  39.     }
  40.     sort( v2 + 1, v2 + k + 1 );
  41.     for( int i = k; i >= 1; --i ){
  42.         g << v2[i] << " ";
  43.     }
  44.     g << '\n';
  45. }
  46.  
  47. int sir( int k ){
  48.     if( k <= n ){
  49.         v[k] = 1 - 2 * v[k-1] - v[k-2];
  50.         sir( k + 1 );
  51.         g << v[k] << " ";
  52.     }
  53. }
  54.  
  55. void p3(){
  56.     f >> n;
  57.     v[1] = 1;
  58.     v[2] = -1;
  59.     if( n == 1 ) g << 1 << '\n';
  60.     else sir( 3 ), g << -1 << " " << 1 << '\n';
  61. }
  62.  
  63. void p4(){
  64.     int n, k = 0, x, gasit, v[10001], dif;
  65.     f >> n;
  66.     for( int i = 1; i <= n; ++i ){
  67.         f >> x;
  68.         gasit = 0;
  69.         for( int j = 1; j <= k && !gasit; ++j ){
  70.             if( x == v[j] ) gasit = 1;
  71.         }
  72.         if( !gasit ) v[++k] = x;
  73.     }
  74.     sort( v + 1, v + k + 1 );
  75.     dif = v[2] - v[1];
  76.     gasit = 1;
  77.     for( int i = 2; i <= k && gasit; ++i ){
  78.         if( v[i] - v[i-1] != dif ) gasit = 0;
  79.     }
  80.     if( gasit ) g << dif << '\n';
  81.     else g << "NU" << '\n';
  82. }
  83.  
  84. int main()
  85. {
  86.     p4();
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement