3070 | 2023. 02. 13 19:06:37 | horvathabel | Benzinkút üzemeltetés (55) | cpp17 | Elfogadva 55/55 | 4ms | 6032 KiB |
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k;
cin>>n>>k;
vector<int> he={-1*k-1};
vector<int> h={0};
for (int i=0; i<n;i++){
int t,ha;
cin>>t>>ha;
he.push_back(t);
h.push_back(ha);
}
vector<int> dp(n+1);
dp[0]=0;
vector<vector<int>> elment(n+1);
for (int i=1; i<=n;i++){
for (int j=i-1; j>=0; j--){
if (he[j]<=he[i]-k){
if (dp[i-1]>dp[j]+h[i]){
dp[i]=dp[i-1];
elment[i]=elment[i-1];
break;
}
else{
dp[i]=dp[j]+h[i];
elment[i]=elment[j];
elment[i].push_back(i);
break;
}
}
}
}
cout<<dp[n]<<endl;
cout<<elment[n].size()<<" ";
for (int x:elment[n]) cout<<x<<" ";
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 55/55 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1812 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 4520 KiB | |||
3 | Elfogadva | 3/3 | 3ms | 2220 KiB | |||
4 | Elfogadva | 3/3 | 3ms | 2580 KiB | |||
5 | Elfogadva | 3/3 | 3ms | 2696 KiB | |||
6 | Elfogadva | 3/3 | 3ms | 2908 KiB | |||
7 | Elfogadva | 3/3 | 3ms | 3040 KiB | |||
8 | Elfogadva | 3/3 | 3ms | 3020 KiB | |||
9 | Elfogadva | 3/3 | 3ms | 3044 KiB | |||
10 | Elfogadva | 3/3 | 3ms | 3176 KiB | |||
11 | Elfogadva | 3/3 | 3ms | 3528 KiB | |||
12 | Elfogadva | 3/3 | 3ms | 4144 KiB | |||
13 | Elfogadva | 4/4 | 3ms | 4744 KiB | |||
14 | Elfogadva | 4/4 | 4ms | 5076 KiB | |||
15 | Elfogadva | 5/5 | 4ms | 5352 KiB | |||
16 | Elfogadva | 6/6 | 4ms | 5804 KiB | |||
17 | Elfogadva | 6/6 | 4ms | 6032 KiB |