264562026-03-28 22:13:30LazurAndrasIntervallumok (45 pont)cpp17Elfogadva 45/4537ms6192 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main(){
    ios::sync_with_stdio(false);cin.tie(nullptr);
    int n; cin >> n;
    vector<int>a(n);
    for(int &i : a) cin >> i;
    vector<vector<int>>ans;
    vector<int>k;
    for(int i = 1; i < n; i++)
    {
        if(n % i) continue;
        int len = n / i;
        int mx = 0;
        for(int j = 0; j < n; j += len) mx = max(mx, a[j+len-1] - a[j]);
        bool ok = 1;
        int prev = a[len-1];
        vector<int>st;
        st.push_back(a[len-1] - mx);
        for(int j = len; j < n; j += len)
        {
            if(prev >= a[j]) {ok = 0; break;}
            prev = max(prev+1, a[j+len-1] - mx);
            st.push_back(prev);
            prev += mx;
        }
        if(!ok) continue;
        k.push_back(mx);
        ans.push_back(st);
    }
    cout << ans.size() << '\n';
    for(int i = 0; i < (int)ans.size(); i++)
    {
        cout << ans[i].size() << " " << k[i] << '\n';
        for(int u : ans[i]) cout << u << '\n';
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base45/45
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/12ms508 KiB
7Elfogadva1/117ms1076 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/214ms1852 KiB
10Elfogadva2/217ms2260 KiB
11Elfogadva2/214ms1872 KiB
12Elfogadva2/218ms2108 KiB
13Elfogadva2/214ms1948 KiB
14Elfogadva2/23ms564 KiB
15Elfogadva2/24ms768 KiB
16Elfogadva2/24ms1076 KiB
17Elfogadva2/27ms1332 KiB
18Elfogadva2/27ms1332 KiB
19Elfogadva2/221ms2308 KiB
20Elfogadva2/237ms5928 KiB
21Elfogadva2/237ms6192 KiB
22Elfogadva2/232ms4892 KiB
23Elfogadva2/235ms5664 KiB
24Elfogadva2/210ms824 KiB
25Elfogadva2/219ms3160 KiB
26Elfogadva2/225ms4424 KiB
27Elfogadva2/214ms1076 KiB