CSES - Missing Number | Số còn thiếu

Xem PDF

Điểm: 800 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn nhận được tất cả các số từ \(1\) đến \(n\) trừ một số. Nhiệm vụ của bạn là tìm số bị thiếu đó.

Input

  • Dòng đầu tiên chứa một số nguyên \(n\).
  • Dòng thứ hai chứa \(n-1\) số. Các số khác nhau đôi một và mỗi số có giá trị từ \(1\) đến \(n\).

Output

  • In ra số còn thiếu.

Constraints

  • \(2 \le n \le 2 \cdot 10^5\)

Example

Sample input

5
2 3 1 5

** Sample output**

4


Bình luận


  • 1
    Avocadorable    8:06 p.m. 22 Tháng 2, 2024
    N = int(input())
    
    sumtoN = N * ((1+N)/2)
    actualSum = sum(list(map(int, input().split())))
    
    print(int(sumtoN - actualSum))
    

    • 0
      NTT_36    1:00 p.m. 15 Tháng 10, 2023

      Bài này 800 điểm thì hơi quá:v


      • 1
        quann    6:33 p.m. 7 Tháng 9, 2023

        đơn giản, ta chỉ cần lấy tổng của 1 đến n trừ cho tổng của dãy đã cho:
        -đầu tiên, tạo một biến sum, chạy một vòng lặp for cộng sum cho từng phần tử trong dãy (VD: sum = 2 + 3 + 1 + 5 = 11)
        -tiếp theo, trả về kết quả tổng từ 1 đến n (công thức là n*(n + 1) / 2) trừ cho sum (VD: 15 - 11 = 4)


        • 0
          xthabao1    9:00 a.m. 2 Tháng 8, 2023

          sao code này mình test được mà lại runtime error

          include<bits/stdc++.h>

          using namespace std;
          long long n,a[100000011],i,tg=0,MAX=0,d,e;
          int main(){
          cin>>n;
          for(i=1;i<n;i++) cin>>a[i];
          for(i=1;i<n;i++) if(a[i]>MAX) MAX=a[i];
          for(i=1;i<n;i++)
          tg=tg+a[i];
          d=MAX*(MAX+1)/2;
          e=d-tg;
          cout<<e;

          }


          • 5
            chienthancontent    11:11 a.m. 14 Tháng 5, 2023

            Dùng mảng đánh dấu!