9098 2024. 02. 13 21:48:49 RRoli Benzinkút üzemeltetés (55) cpp17 Elfogadva 55/55 4ms 3704 KiB
#include <bits/stdc++.h>
using namespace std;

struct{
    long long hely;
    long long hasz;
} a[1001];
long long n, k, L[1001], maxi, kov[1001];

int main()
{
    cin >> n >> k;
    for(long long i = 1; i <= n; i++) {
       cin >> a[i].hely >> a[i].hasz;
       kov[i] = -1;
    }

    for(long long i = n; i >= 1; i--) {
        L[i] = a[i].hasz;
        long long ln = 0;
        for(long long j = i+1; j <= n; j++) {
            if(a[j].hely - a[i].hely >= k && L[j] > ln) {
                ln = L[j];
                kov[i] = j;
            }
        }
        L[i] += ln;
        if(maxi < L[i])
            maxi = L[i];
    }

    cout << maxi << endl;
    long long t = 1, jo[1001];
    for(long long i = 1; i <= n; i++)
        if(L[i] == maxi) {
            jo[1] = i;
            while(kov[i] != -1) {
                t++;
                jo[t] = kov[i];
                i = kov[i];
            }
            break;
        }
    cout << t << ' ';
    for(long long i = 1; i <= t; i++)
        cout << jo[i] << ' ';

    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 55/55
1 Elfogadva 0/0 3ms 1888 KiB
2 Elfogadva 0/0 4ms 2272 KiB
3 Elfogadva 3/3 3ms 2316 KiB
4 Elfogadva 3/3 3ms 2392 KiB
5 Elfogadva 3/3 3ms 2604 KiB
6 Elfogadva 3/3 3ms 2844 KiB
7 Elfogadva 3/3 3ms 3036 KiB
8 Elfogadva 3/3 2ms 3112 KiB
9 Elfogadva 3/3 3ms 3240 KiB
10 Elfogadva 3/3 3ms 3452 KiB
11 Elfogadva 3/3 3ms 3540 KiB
12 Elfogadva 3/3 3ms 3704 KiB
13 Elfogadva 4/4 3ms 3556 KiB
14 Elfogadva 4/4 4ms 3556 KiB
15 Elfogadva 5/5 4ms 3556 KiB
16 Elfogadva 6/6 4ms 3556 KiB
17 Elfogadva 6/6 4ms 3560 KiB