193542025-12-05 07:21:09birozsIntervallumok (45 pont)pypy3Wrong answer 32/45449ms67908 KiB
N = int(input())
pont = list(map(int,input().split()))
Blokk = []
for K in range(1,N):
    if K == 1:
        Blokk.append([[K,pont[-1]-pont[0]],[pont[0]]])
    if K > 1 and N % K == 0:
        if K == 2:
            koz = max([pont[N//2-1]-pont[0],pont[N-1]-pont[N//2]])
            Blokk.append([[2,koz],[pont[N//2-1]-koz,pont[N//2]]])
        else:
            Intervallumok = []
            hossz = N // K
            MaxHossz = 0
            for i in range(N):
                if i % hossz == hossz - 1:
                    Intervallumok.append([i-hossz+1,i])
                    if pont[i] - pont[i-hossz+1] > MaxHossz:
                        MaxHossz = pont[i] - pont[i-hossz+1]
            Szep = []
            Lehet = True
            AktPoz = - 3 * 10**8
            for bal,jobb in Intervallumok:
                if pont[jobb] - AktPoz >= MaxHossz:
                    Szep.append([pont[jobb]-MaxHossz,pont[jobb]])
                    AktPoz = pont[jobb] + 1
                elif jobb < N - 1 and pont[jobb+1] - 1 - AktPoz >= MaxHossz:
                    Szep.append([AktPoz,AktPoz + MaxHossz])
                    AktPoz = AktPoz + MaxHossz + 1
                elif jobb == N - 1 and pont[jobb] - AktPoz >= MaxHossz:
                    Szep.append([AktPoz,AktPoz + MaxHossz])
                else:
                    Lehet = False
                    break
            if Lehet:
                sor = []
                for bal,jobb in Szep:
                    sor.append(bal)
                Blokk.append([[K,MaxHossz],sor])
print(len(Blokk))
for k in Blokk:
    print(k[0][0],k[0][1])
    for x in k[1]:
        print(x)
            
SubtaskSumTestVerdictTimeMemory
base32/45
1Accepted0/039ms19880 KiB
2Accepted0/061ms21416 KiB
3Accepted1/139ms19572 KiB
4Accepted1/143ms19908 KiB
5Wrong answer0/156ms21464 KiB
6Accepted1/167ms22232 KiB
7Accepted1/1156ms37960 KiB
8Wrong answer0/265ms21992 KiB
9Accepted2/2209ms38448 KiB
10Accepted2/2202ms38192 KiB
11Accepted2/2195ms39192 KiB
12Accepted2/2184ms38444 KiB
13Accepted2/2215ms39020 KiB
14Accepted2/290ms23036 KiB
15Accepted2/286ms23784 KiB
16Accepted2/296ms25064 KiB
17Accepted2/2109ms26152 KiB
18Accepted2/2119ms26112 KiB
19Accepted2/2389ms49916 KiB
20Wrong answer0/2421ms67868 KiB
21Accepted2/2412ms66608 KiB
22Wrong answer0/2449ms67020 KiB
23Wrong answer0/2439ms67908 KiB
24Wrong answer0/2224ms29108 KiB
25Accepted2/2291ms47796 KiB
26Wrong answer0/2293ms49084 KiB
27Accepted2/2321ms35064 KiB