133592025-01-07 17:03:16PajerLeviBenzinkút üzemeltetés (55)cpp17Hibás válasz 0/552ms600 KiB
#include<bits/stdc++.h>

using namespace std;

int main(){
	int n, k;
	cin >> n >> k;
	vector<int> t(n), h(n);
	for(int i=0;i<n;i++){
		cin >> t[i] >> h[i];
	}
	vector<int> firstGood(n);
	int j=n-1;
	for(int i=n-1;0<=i;i--){
		while(0<=j && t[i]<t[j]+k) j--;
		firstGood[i]=j;
	}
	vector<int> dp(n);
	dp[0]=h[0];
	for(int i=1;i<n;i++){
		dp[i]=max(0<=firstGood[i]?dp[firstGood[i]]+h[i]:h[i], dp[i-1]);
	}
	cout << dp[n-1];
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/55
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/02ms316 KiB
3Hibás válasz0/31ms316 KiB
4Hibás válasz0/31ms508 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Hibás válasz0/31ms500 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/31ms316 KiB
12Hibás válasz0/31ms316 KiB
13Hibás válasz0/41ms316 KiB
14Hibás válasz0/41ms316 KiB
15Hibás válasz0/52ms600 KiB
16Hibás válasz0/61ms316 KiB
17Hibás válasz0/61ms316 KiB