CSES - Subarray Sums I | Tổng đoạn con I

Xem PDF

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

Cho một mảng gồm \(n\) số nguyên dương, nhiệm vụ của bạn là đếm số lượng đoạn con có tổng \(x\).

Input

  • Dòng đầu vào đầu tiên có hai số nguyên \(n\)\(x\): kích thước của mảng và tổng \(x\).
  • Dòng tiếp theo có \(n\) số nguyên \(a_1, a_2, \ldots, a_n\): nội dung của mảng.

Output

  • In một số nguyên: số lượng đoạn con được yêu cầu.

Constraints

  • \(1 \le n \le 2 \cdot 10^5\)
  • \(1 \le x, a_i \le 10^9\)

Example

Sample input

5 7
2 4 1 2 7

Sample output

3


Bình luận


  • 0
    NguyenLePhuc    5:35 p.m. 22 Tháng 11, 2023

    ai cho mình gợi ý được không, mình dùng mảng cộng dồn vẫn chưa ac


    • 1
      nganhtuan21122019    10:41 p.m. 22 Tháng 11, 2023

      include<bits/stdc++.h>

      define ll long long

      using namespace std;
      int main(){

      ll n,k;
      cin>>n>>k;
      vector<ll>a(n);
      for(ll &x:a){
          cin>>x;
      }
      ll tg =0 ;
      ll r,l = 0;
      ll ans = 0;
      for(r = 0;r<n;r++){
          tg+=a[r];
          while(tg>k){
              tg-=a[l];
              l++;
          }
          if(tg==k){
              ans++;
          }
      }
      

      cout<<ans;
      return 0;
      }
      tui làm v nè b


      • 0
        NguyenLePhuc    6:07 a.m. 23 Tháng 11, 2023

        để mình coi lại, mình học python:D

      1 bình luận nữa