189882025-11-13 20:18:23MagyarKendeSZLGIntervallumok (45 pont)cpp17Hibás válasz 16/4543ms6892 KiB
#include <bits/stdc++.h>
using namespace std;
#define int int64_t

int32_t main() {
    cin.tie(0), ios::sync_with_stdio(0);
    int n;
    cin >> n;
    vector<int> a(n);
    for (int& x : a) cin >> x;

    vector<vector<int>> res;
    vector<int> res_w;
    for (int k = 1; k < n; k++) {
        if (n % k) continue;
        int nk = n / k;
        int w = 0;
        for (int i = nk - 1; i < n; i += nk) {
            int j = i - nk + 1;
            w = max(w, a[i] - a[j]);
        }
        bool ok = 1;
        for (int i = 2 * nk - 1; i < n; i += nk) {
            int j = i - nk;
            if (a[i] - a[j] < w) {
                ok = 0;
                break;
            }
        }
        if (!ok) continue;
        res_w.push_back(w);
        res.push_back({});
        for (int i = nk - 1; i < n; i += nk) {
            res.back().push_back(a[i] - w);
        }
    }

    cout << res.size() << "\n";
    for (int i = 0; i < (int)res.size(); i++) {
        cout << res[i].size() << " " << res_w[i] << "\n";
        for (int x : res[i]) cout << x << "\n";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base16/45
1Elfogadva0/01ms500 KiB
2Hibás válasz0/01ms316 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Hibás válasz0/11ms316 KiB
6Elfogadva1/13ms564 KiB
7Elfogadva1/116ms2104 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/214ms2036 KiB
10Hibás válasz0/217ms2600 KiB
11Hibás válasz0/212ms1844 KiB
12Hibás válasz0/217ms2736 KiB
13Hibás válasz0/214ms2036 KiB
14Elfogadva2/23ms820 KiB
15Elfogadva2/24ms812 KiB
16Elfogadva2/24ms1080 KiB
17Elfogadva2/28ms1588 KiB
18Hibás válasz0/28ms1332 KiB
19Elfogadva2/221ms3116 KiB
20Hibás válasz0/241ms6576 KiB
21Elfogadva2/243ms6892 KiB
22Hibás válasz0/232ms5292 KiB
23Hibás válasz0/237ms6308 KiB
24Hibás válasz0/29ms1332 KiB
25Hibás válasz0/214ms2352 KiB
26Hibás válasz0/226ms4440 KiB
27Hibás válasz0/214ms1848 KiB