Submit solution
Points:
0.10 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Author:
Problem types
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho dãy số gồm ~n~ số nguyên dương ~a_1, a_2, \ldots, a_n~. Hãy đếm số cặp (~i~, ~j~) thỏa mãn:
~1 \le i < j \le n~.
~j - i > 5~.
~|a_i - a_j|~ chia hết cho ~23~.
Input
Dòng đầu tiên chứa một số nguyên dương ~n~ (~1 \le n \le 2 \cdot 10^5~).
Dòng thứ hai gồm ~n~ số nguyên dương mô tả dãy số ~a_1, a_2, \ldots, a_n~ (~1 \le a_i \le 10^9~, ~1 \le i \le n~).
Output
In ra một số nguyên duy nhất là số cặp (~i~, ~j~) thỏa mãn yêu cầu đề bài.
Scoring
Subtask | Điểm | Giới hạn |
---|---|---|
1 | ~40~ | ~n \le 1000~ |
2 | ~60~ | Không có ràng buộc gì thêm |
Sample Input 1
10
1 24 25 4 30 15 3 1 24 2
Sample Output 1
5
Notes
Trong ví dụ, các cặp số (~i~, ~j~) thỏa mãn là:
(~1~, ~8~)
(~1~, ~9~)
(~2~, ~8~)
(~2~, ~9~)
(~3~, ~10~)
Comments
This comment is hidden due to too much negative feedback. Show it anyway.
các bạn đếm pp đi, bài này khi duyệt đến i ta quét hết được các trường hợp trước đó
include <bits/stdc++.h>
define ll long long
using namespace std;
ll n; ll result; ll a[2 * 100000 + 1]; ll mp[23];
int main(){ iosbase::syncwith_stdio(0); cin.tie(0); cin >> n; for (int i = 1; i <= n; ++i){ cin >> a[i]; if (i >= 7){ ++mp[a[i - 6] % 23]; result += mp[a[i] % 23]; } } cout << result; }
help!!!!!! ai giải thích giúp tui cái ví dụ được không? tui đọc không có hiểu
cái ví dụ là trường hợp 1 là vị trí thứ 1 với vị trí thứ 8 có hiệu là |1-24|=23 chia hết cho 3 tương tự với trường hợp 2 3 4 5 cũng vậy
bài này có special tests ko z? mình làm đc có 36/40 tests :<
https://ideone.com/uHxq9o
code tk
This comment is hidden due to too much negative feedback. Show it anyway.
=))