Advertisement
Guest User

Untitled

a guest
Oct 13th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. int arr[3000001];
  8.  
  9. void q_sort(int left, int right, int knumb){
  10.     int  center = arr[(left + right) / 2];
  11.     int i = left;
  12.     int j = right;
  13.     do{
  14.         while (arr[i] < center){
  15.             i++;
  16.         }
  17.         while (arr[j] > center){
  18.             j--;
  19.         }
  20.         if (i <= j){
  21.             swap(arr[i], arr[j]);
  22.             i++;
  23.             j--;
  24.         }
  25.  
  26.     }while(i <= j);
  27.     if ((j > left) && (knumb <= j))
  28.         q_sort(left, j, knumb);
  29.     if ((i < right) && (knumb >= j))
  30.         q_sort(j + 1, right, knumb);
  31. }
  32.  
  33. int main(){
  34.     ifstream cin("kth.in");
  35.     ofstream cout("kth.out");
  36.     int a, b, c, n, k;
  37.     cin >> n >> k >> a >> b >> c;
  38.     cin >> arr[0];
  39.     if (n > 1) {
  40.         cin >> arr[1];
  41.     }else{
  42.         cout << arr[0];
  43.     }
  44.     for (int i = 2; i < n; i++){
  45.         arr[i] = a * arr[i - 2] + b * arr[i - 1] + c;
  46.     }
  47.     q_sort(0, n - 1, k - 1);
  48.     cout << arr[k - 1] << endl;
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement