trang chủ / bài tập / friendgrp

Nhóm bạn

Đề bài

Mô tả

Cho một mảng gồm n số nguyên dương đôi một phân biệt a1,a2,,an.

Một đoạn con liên tiếp ai,ai+1,,aj được gọi là một nhóm bạn nếu tồn tại một số nguyên m2 sao cho

aimodm=ai+1modm==ajmodm,

trong đó xmody là số dư của x khi chia cho y.

Hãy tìm kích thước (số phần tử) của nhóm bạn lớn nhất trong mảng.

Lưu ý: một đoạn chỉ gồm đúng một phần tử luôn là một nhóm bạn hợp lệ (kích thước 1).

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu.
  • Với mỗi bộ dữ liệu:
    • Dòng đầu chứa số nguyên n là kích thước mảng.
    • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một dòng chứa một số nguyên là kích thước của nhóm bạn lớn nhất.

Ràng buộc

  • 1t2·104
  • 1n2·105
  • 1ai1018
  • Các số trong mảng đôi một phân biệt.
  • Tổng của n trên tất cả các bộ dữ liệu không vượt quá 2·105.

Ví dụ

Input Output Giải thích
4
5
1 5 2 4 6
4
8 2 5 10
2
1000 2000
8
465 55 3 54 234 12 45 78
3
3
2
6
Bộ 1: nhóm [2,4,6] đều chia 20 nên m=2. Bộ 2: nhóm [8,2,5] đều chia 32 nên m=3. Bộ 3: [1000,2000] với nhiều giá trị m hợp lệ.
1
3
1 137438953474 274877906947
3 Cả ba số cùng số dư khi chia cho một m2 phù hợp, nên toàn bộ mảng là một nhóm bạn.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0