84502024-01-16 16:02:31TuruTamasIntervallumok (45 pont)cpp17Hibás válasz 0/4545ms9388 KiB
#include <bits/stdc++.h>
using namespace std;

#ifdef DEBUG
ifstream in_file("minta/be1.txt");
#define input in_file
#define INTHENAMEOFGOD
#else
#define input cin
#define INTHENAMEOFGOD \
    ios::sync_with_stdio(0); \
    cin.tie(0); \
    cout.tie(0);
#endif
typedef long long ll;
typedef vector<ll> vi;
typedef vector<vi> vvi;
typedef vector<bool> vb;
typedef array<ll, 2> pii;

ll N;
vi A;
vector<pair<vi, ll>> vp;

int main() {
    INTHENAMEOFGOD
    input >> N;
    A.resize(N);
    for (ll n = 0; n < N; n++) {
        input >> A[n];
    }
    for (ll i = 2; i <= N/2; i++) {
        if (N % i != 0) {
            continue;
        }
        ll minhossz = 0, maxhossz = LLONG_MAX, v = LLONG_MIN + pow(10, 8) + 1;
        bool f = true;
        for (ll k = 0; k < N-i; k += i) {
            minhossz = max(minhossz, A[k+i-1] - A[k]);
            maxhossz = min(maxhossz, A[k+i] - v);
            if (maxhossz < minhossz) {
                f = false;
                break;
            }
            v = A[i-1] + minhossz * k/i;
        }
        minhossz = max(minhossz, A.back() - A[A.size()-i]);
        if (f) {
            vi O;
            for (ll k = i-1; k < N; k += i)
                O.push_back(A[k]-minhossz);
            vp.emplace_back(O, O.size()*minhossz);
        }
    }
    cout << vp.size()+1 << "\n";
    for (auto [v, l] : vp) {
        cout << v.size() << " " << l << "\n";
        for (ll val : v)
            cout << val << "\n";
    }
    cout << 1 << " " << A.back()-A[0] << "\n" << A[0] << endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/45
1Elfogadva0/03ms1824 KiB
2Hibás válasz0/03ms2220 KiB
3Hibás válasz0/13ms2228 KiB
4Hibás válasz0/13ms2316 KiB
5Hibás válasz0/13ms2452 KiB
6Hibás válasz0/14ms2864 KiB
7Hibás válasz0/117ms4204 KiB
8Hibás válasz0/23ms2872 KiB
9Hibás válasz0/218ms5384 KiB
10Hibás válasz0/220ms5852 KiB
11Hibás válasz0/217ms5420 KiB
12Hibás válasz0/219ms5756 KiB
13Hibás válasz0/217ms5296 KiB
14Hibás válasz0/24ms3664 KiB
15Hibás válasz0/26ms3828 KiB
16Hibás válasz0/27ms4016 KiB
17Hibás válasz0/29ms4388 KiB
18Hibás válasz0/29ms4352 KiB
19Hibás válasz0/228ms7300 KiB
20Hibás válasz0/245ms9388 KiB
21Hibás válasz0/245ms9388 KiB
22Hibás válasz0/241ms8828 KiB
23Hibás válasz0/243ms9356 KiB
24Hibás válasz0/210ms4020 KiB
25Hibás válasz0/226ms6692 KiB
26Hibás válasz0/230ms7368 KiB
27Hibás válasz0/214ms4684 KiB