VasilM

4b_max100_big_numbers

Nov 27th, 2012
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <set>
  4. typedef long long bong;
  5.  
  6. using namespace std;
  7.  
  8. int main(){
  9.  
  10.     unsigned el=0, k=1, ind;
  11.     bong br, num, best100[100];
  12.     set<bong> max100;
  13.     set<bong>::reverse_iterator rit;
  14.    
  15.     cin >> br;
  16.     while(br--) {
  17.         cin >> num;
  18.         max100.insert(num);
  19.         el++;
  20.         if( el > 100 ) max100.erase( max100.begin() );
  21.     }
  22.  
  23.     for ( rit=max100.rbegin(); rit!=max100.rend(); rit++ ) best100[k++] = *rit;
  24.  
  25.     while( cin >> ind ) cout << best100[ind] << endl;
  26.  
  27.     return 0;
  28. }
  29. /*
  30. Задача 4b.
  31. Дадено се множество от n различни цели числа  числа. Да се напише програма, която да може да отговаря на въпроса: "Кой е k-тия по големина елемент на множеството?"
  32.  
  33. Вход:
  34. Най-напред на входа се задава броя N на елементите на множеството (N < 1011) . Следват самите елементи (по-малки от 1020) и след тях редица от цели положителни числа "k" - питане за k-тия по големина елемент на множеството (k < 100), която съдържа не повече от 100 питания.
  35.  
  36. Изход:
  37. За всяко питане, на изхода се отпечатва на отделен ред отговора - стойността на k-тия по големина елемент.
  38.  
  39. Пример:
  40. 5
  41. 12 4 22 31 32
  42. 1 2 3 4
  43.  
  44. Решение на примера:
  45. 32
  46. 31
  47. 22
  48. 12
  49. */
Advertisement
Add Comment
Please, Sign In to add comment