AQUERY2 - Tìm số nhỏ thứ K trong mảng

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Có một dãy số ban đầu rỗng. Người ta lần lượt thực hiện ~Q~ thao tác. Ở thao tác thứ ~i~, người ta sẽ chèn thêm ~b_i~ số có giá trị ~a_i~ vào cuối dãy số.

Sau khi thực hiện xong cả ~Q~ thao tác, hãy cho biết số nhỏ thứ K trong dãy có giá trị bao nhiêu.

Input

  • Dòng đầu tiên gồm số nguyên ~Q\ (1 ≤ Q ≤ 10^5)~ - số thao tác được thực hiện;
  • ~Q~ dòng tiếp theo, dòng thứ ~i~ gồm hai số nguyên ~a_i~ và ~b_i~ ~(1 ≤ a_i, b_i ≤ 10^9)~ - mô tả thao tác thứ ~i~;
  • Dòng tiếp theo gồm số nguyên ~K\ (1 ≤ K ≤ b_1 + b_2 + . . . + b_Q)~.

Output

  • In ra giá trị số nhỏ thứ ~K~ sau khi thực hiện ~Q~ thao tác.

Sample

Input #1
3
5 2
2 3
3 1
4
Output #1
3
Input #2

4 7 1 1 1 4 1 4 1 3



#### Output #2

4



#### Input #3

1 100 1 1



#### Output #3

100 ```

Hint

  • Ở ví dụ thứ nhất, dãy số thu được là ~[5, 5, 2, 2, 2, 3]~. Giá trị nhỏ thứ 4 trong dãy này là ~3~;
  • Ở ví dụ thứ hai, dãy số thu được là ~[7, 1, 4, 4]~. Giá trị nhỏ thứ ~3~ trong dãy này là ~4~;
  • Ở ví dụ thứ ba, dãy số thu được là ~[100]~. Giá trị nhỏ nhất trong dãy này cũng là ~100~.

Problem source: Kc97ble - Free Contest


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    Viet0601  đã bình luận lúc 25, Tháng 3, 2024, 16:03

    include<bits/stdc++.h>

    using namespace std; using ll= long long; ll tong=0;

    int main() { int t; cin>>t; vector<int> ve; while(t--) { int x,n; cin>>x>>n; for(int i=0;i<n;i++) { ve.push_back(x); } } int k; cin>>k;

    sort(ve.begin(),ve.end()); cout<<ve[k-1]; }