Xâu con chẵn

Xem PDF

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

Bạn được một xâu \(s = s_1 s_2 ... s_n\) có độ dài n, chỉ chứa các ký tự số \(1,2,3,...,9\) (không chứa số \(0\))

Một xâu con \(s[l...r]\) của xâu \(s\)\(s_l s_{l+1} ... s_r\) được gọi là xâu con chẵn nếu nó biểu diễn số chẵn.

Hãy tìm số xâu con chẵn của xâu \(s\).

Input

  • Dòng đầu tiên chứa số nguyên dương \(n(n \leq 10^5)\) - là độ dài xâu \(s\)
  • \(n\) ký tự của xâu \(s\), chỉ gồm các ký tự từ \(1\) đến \(9\)

Output

  • Số xâu con chẵn của xâu \(s\).

Example

Test 1

Input
4
1234 
Output
6

Test 2

Input
4
2244 
Output
10

Bình luận


  • 0
    N7hoatt    9:42 p.m. 18 Tháng 7, 2020 đã chỉnh sửa

    HINT

    tổng số xâu chẵn trong s là tổng các xâu có phần tử chẵn ở cuối vậy chỉ cần chạy-xét s[i] có chẵn không rồi cộng vào kết quả i+1

    p/s:upvote đê


    • -3
      SPyofgame    9:07 a.m. 20 Tháng 7, 2020

      Lời giải này sai rồi


      • 0
        Lê_Gia_Khánh    9:10 a.m. 20 Tháng 7, 2020

        ủa em thấy code anh y vậy mà :v


        • -4
          SPyofgame    9:21 a.m. 20 Tháng 7, 2020

          :thonk: chắc gì số xâu thỏa mãn là \(i + 1\) vậy bạn

          Giả sử mình thích mình code vậy thì sao

          C++
          bool isDigit(char c) { return '0' <= c && c <= '9'; }
          int main()
          {
              int n;
              cin >> n;
          
              ll res = 0;
              char c;
              while (!isDigit(c = getchar()));
              for (int i = 1; i <= n; ++i, c = getchar())
              {
                  if ((c - '0') % 2 == 0)
                  {
                      res += i;
                  }
              }
              cout << res;
              return 0;
          }
          

          • 0
            Sang_Nguyen_Dang    9:25 a.m. 29 Tháng 7, 2023 đã chỉnh sửa

            Nói như bạn. Quan trọng ở đây first dex=1 hay first dex=0. CÓ thế thôi. Đừng làm như bạn pro quá, ăn gạch đấy

      1 bình luận nữa