trang chủ / đề bài / 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 m≥2 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

  • 1≤t≤2·104
  • 1≤n≤2·105
  • 1≤ai≤1018
  • 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 2 dư 0 nên m=2. Bộ 2: nhóm [8,2,5] đều chia 3 dư 2 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 m≥2 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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0