199122025-12-29 13:47:14AblablablaIntervallumok (45 pont)cpp17Elfogadva 45/4574ms4300 KiB
#include <bits/stdc++.h>

using namespace std;

int n;
vector<int> alap, jo, hossz;
vector<vector<int>> kezd;

void check(int db){ // mennyi van egyben
    int csoport = n / db;

    int mini = 0;

    for(int i = 1; i <= csoport; i++){
        int elso = (i - 1)*db;
        int utolso = i*db - 1;

        int akt = alap[utolso] - alap[elso];

        mini = max(mini, akt);
    }


    int veg = alap[db - 1];
    vector<int> akt;
    akt.push_back(veg - mini);

    for(int i = 2; i <= csoport; i++){
        int elso = (i-1)*db;
        int utolso = i*db - 1;

        if(veg >= alap[elso]){
            return;
        }

        veg = max(veg + 1 + mini, alap[utolso]);
        akt.push_back(veg - mini);
    }

    jo.push_back(db);
    hossz.push_back(mini);
    kezd.push_back(akt);
}

int main()
{
    cin >> n;

    alap.assign(n, 0);
    for(int &x : alap){
        cin >> x;
    }

    check(n);

    for(int i = 2; i*i <= n; i++){
        if(n % i != 0) continue;

        check(i);

        if(i != n / i){
            check(n / i);
        }
    }

    cout << jo.size() << "\n";

    for(int i = 0; i < jo.size(); i++){
        cout << n/jo[i] << " " << hossz[i] << "\n";
        for(int x : kezd[i]){
            cout << x << "\n";
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base45/45
1Elfogadva0/01ms508 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms500 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/14ms440 KiB
7Elfogadva1/143ms564 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/232ms1096 KiB
10Elfogadva2/235ms1528 KiB
11Elfogadva2/234ms1352 KiB
12Elfogadva2/237ms1500 KiB
13Elfogadva2/234ms1352 KiB
14Elfogadva2/24ms564 KiB
15Elfogadva2/27ms564 KiB
16Elfogadva2/28ms564 KiB
17Elfogadva2/213ms1044 KiB
18Elfogadva2/214ms820 KiB
19Elfogadva2/248ms1804 KiB
20Elfogadva2/272ms4288 KiB
21Elfogadva2/274ms4284 KiB
22Elfogadva2/267ms3528 KiB
23Elfogadva2/272ms4300 KiB
24Elfogadva2/226ms564 KiB
25Elfogadva2/239ms2048 KiB
26Elfogadva2/250ms3008 KiB
27Elfogadva2/237ms564 KiB