Bài toán của Lê Quang Nhật - Phần 1

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
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

ICantCode315(Nhật) và fptbinhnd(Bình) là hai đứa bạn thân hay chơi với nhau. Một hôm, cả hai đều đang chia sẽ về kết quả contest gần đây của mình.

- Bình: Ê Nhật, tao đứng top 1 nè, ghê ko?
- Nhật: Ừ. Nhưng tao cũng chỉ xếp sau mày có mấy bậc thôi mà.
- Bình: Thế mày top mấy?
- Nhật: Ờ....Ko nhớ nữa, tao chỉ nhớ tao được n điểm mà thôi
- Bình: Mấy bài đó dễ mà, gà =)
- Nhật: Tí về tao kiểm tra lại đã.

Tối hôm đó, Nhật coi lại contest thì thấy contest bị lỗi, không hiễn thị hạng, chỉ hiển thị số điểm. Nhật định đếm thứ hạng thì mới chợt nhớ ra: Contest có đến hàng chục người, mà Nhật thì điểm thấp, giữa Nhật và Bình có đến hàng trăm người, làm sao Nhật có thể đếm được. May mắn, nếu có một số người bằng điểm với Nhật thì Nhật là người đứng đầu vì cậu làm xong đầu tiên. Nhật hỏi Bình thì không được vì Bình đang bận ôn thi. Nên Nhật đành nhờ các bạn trong nhóm Tin của mình giúp.

Bạn là người cùng trong nhóm Tin với Nhật, hãy giúp Nhật nhé!

Input
  • Dòng đầu tiên nhập hai số là n và k (n là số người ,k là số điểm của Nhật)
  • Dòng tiếp theo nhập A[i] phần tử (Mỗi phần tử là số điểm của từng người bao gồm cả Nhật và Bình, từ trên xuống)
Output
  • In ra kết quả là số người NẰM GIỮA Nhật và Bình
Giới hạn

2<n<1e6, k<a[1]</p>

Example

Input:

14 7
10 10 10 7 7 7 6 6 4 4 4 3 3 0

Output:

2

Giải thích:

Bình ở top 1, Nhật ở top 4 (vì trên bảng điểm có 3 bạn cùng 7, Nhật cũng 7 điểm, nên Nhật Xếp đầu tiên)
Giữa Bình và Nhật có 2 bạn ở top 2 và top 3, nên kết quả là 2

Bình luận

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



  • 0
    ngocdo  đã bình luận lúc 9, Tháng 2, 2025, 4:14

    Đề pro thế bạn Nhật


  • 0
    KhangGPT  đã bình luận lúc 4, Tháng 2, 2025, 4:15

    Bài giải cho ngôn ngữ C:

    include <stdio.h>

    include <stdlib.h>

    define MAX_N 1000000

    int main() { int n, k; scanf("%d %d", &n, &k);

    int A[MAX_N];
    for (int i = 0; i < n; i++) {
        scanf("%d", &A[i]);
    }
    
    int rank = 1, count_between = 0;
    for (int i = 1; i < n; i++) {
        if (A[i] < A[i - 1]) {
            rank++;
        }
        if (A[i] == k) {
            break;
        }
        count_between++;
    }
    
    printf("%d\n", count_between);
    return 0;
    

    }


  • -1
    fptbinhnd  đã bình luận lúc 9, Tháng 11, 2024, 2:11

    I'm a newbie, please don't describe me as a show-off.