PTIT021 - Linh kiện điện tử

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

Grenore là một người kỹ tính, cậu luôn đánh dấu những linh kiện điện tử của mình. Cách cậu đánh dấu chúng cũng khá là đặc biệt, khi bắt đầu đánh dấu linh kiện đầu tiên, cậu đánh dấu nó bới một số ~x~, với các linh kiện tiếp theo, cậu đánh dấu lần lượt là ~x+1~, ~x+2~, ..., ~x+n~.

Một ngày nọ, có một tên trộm với chỏm râu ria kỳ lạ tự xưng là Kidney Bachs. Hắn ta trộm mất ~k~ linh kiện điện tử của cậu ~(0 \leq k < n)~

May thay, tất cả món đồ đều được cậu đánh số lại, và Grenore muốn nhờ bạn tìm xem có ít nhất bao nhiêu món đồ đã bị Bachs lấy mất. Grenore sẽ cung cấp số lượng đồ còn lại và chỉ số của chúng. Hãy giúp Grenore nhé !!

Input

  • Dòng đầu tiên là một số nguyên ~(1 \leq n < 10^6)~.
  • Dòng tiếp theo là n số nguyên riêng biệt ~a_i~ ~(1 \leq a_i \leq 10^6)~ là chỉ số của các món đồ còn lại.

Output

Một số nguyên duy nhất là số lượng ít nhất món đồ mà Grenore bị mất.

Sample

Input #1
4
10 13 12 8
Output #1
2

Problem source: CLB Lập Trình PTIT


Bình luận

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



  • 3
    hohoanghai5042011  đã bình luận lúc 17, Tháng 1, 2024, 12:53

    include <bits/stdc++.h>

    using namespace std; long long n,a[100001],i,s,k,d=0; int main() { cin>>n; for(i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1); for(i=1;i<=n;i++) { if((a[i+1]-a[i])!=1&&(a[i+1]-a[i]==2)) d++; if((a[i+1]-a[i])!=1&&(a[i+1]-a[i]>2)) d+=(a[i+1]-a[i])-1; } cout<<d; } full ac