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 |