DD

Cho dãy số gồm n số tự nhiên a1, a2, ..an. Hãy đếm xem có bao nhiêu tổng 2 phần tử liên tiếp của dãy số trên có giá trị chia hết cho 4; Hay nói cách khác là có bao nhiêu tổng a[i]+a[i+1] chia hết cho 4 (với 1 <= i <= n-1).

Dữ liệu: Vào từ file CHIAHET4.INP gồm:

+ Dòng đầu tiên là số nguyên dương n (2 <=  n <= 105);

+ Dòng thứ hai là dãy số tự nhiên a1, a2, ..an (ai <= 4.1018).

Kết quả: ghi ra CHIAHET4.OUT một số nguyên là kết quả của bài toán.

Ví dụ:

CHIAHET4.INP

CHIAHET4.OUT

3

3 1 2

1

 

Giới hạn:

+ Có 60% số điểm ứng với ai <= 1018;

+ Có 40% số điểm ứng với các trường hợp còn lại.

giúp mk

VT
31 tháng 10 lúc 17:24

#include <bits/stdc++.h>
using namespace std;
#define pll pair<int, int>
#define plll pair<int, pll>
#define tr cout << "-----------------" << '\n'
#define ll int
#define nmax 3000007
#define mmax 2007
#define pb push_back
const int mod = 1e9 + 7;
const int oo = 1e17;
const int base = 41;
const int dx[] = {0, 0, 1, -1};
const int dy[] = {1, -1, 0, 0};
long long a[nmax];
signed main()
{
    cin.tie(0)->sync_with_stdio(0);
    long long n;
    cin >> n;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }
    long long dem = 0;
    for(int i = 1; i < n; i++)
    {
        if((a[i] + a[i + 1]) % 4 == 0) dem++;
    }
    cout << dem;
}

Bình luận (0)