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