Advertisement
Guest User

Corzi

a guest
Mar 12th, 2016
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. # include <iostream>
  2. # include <algorithm>
  3.  
  4. using namespace std;
  5.  
  6. const int D = 5; // distanta minima intre doua cote
  7. int H[20], C[20], N, corzi, ultima_coarda, corzi_egale, i, j;
  8.  
  9. int main() {
  10.  
  11.     cin >> N;
  12.     for (i=1; i<=N; ++i)
  13.         cin >> H[i];
  14.  
  15.     for (i=2; i<=N; ++i)
  16.         if (abs(H[i]-H[i-1]) > D)
  17.             C[++corzi] = abs(H[i]-H[i-1]);
  18.  
  19.     for (i=1; i<corzi; ++i)
  20.         for (j=i+1; j<=corzi; ++j)
  21.             if (C[i] > C[j])
  22.                 swap(C[i], C[j]);
  23.  
  24.     ultima_coarda = C[1];
  25.     for (i=2; i<=corzi; ++i) {
  26.         if (C[i] == ultima_coarda) // cazul in care sunt doar doua corzi egale
  27.             ++i, corzi_egale += 2;
  28.  
  29.         while (C[i] == ultima_coarda) // cazul in care sunt mai mult de doua corzi egale
  30.             ++i, ++corzi_egale;
  31.  
  32.         ultima_coarda = C[i];
  33.     }
  34.  
  35.     cout << corzi_egale;
  36.     return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement