304282026-07-07 17:50:50algoproBenzinkút üzemeltetés (55)cpp17Hibás válasz 6/552ms508 KiB
// UUID: 9a80471b-2773-4d5a-b232-bcd64ba0d21b
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    
    int n, h;
    if (!(cin >> n >> h)) return 0;
    vector<int> hely(n + 1, 0);
    vector<int> penz(n + 1, 0);
    vector<int> dp(n + 1, 0);
    for(int i = 1; i <= n; i++){
        cin >> hely[i] >> penz[i];
    }
    vector<bool> valasztott(n + 1, false);
    for(int i = 1; i <= n; i++){
        int j = i - 1;
        while(j > 0 && hely[i] - hely[j] < h){
            j--;
        }
        int nem_epitünk_haszon = dp[i - 1];
        int epitünk_haszon = dp[j] + penz[i];
        if (epitünk_haszon > nem_epitünk_haszon) {
            dp[i] = epitünk_haszon;
            valasztott[i] = true; 
        } else {
            dp[i] = nem_epitünk_haszon;
            valasztott[i] = false; 
        }
    }
    int jo=0, b=0;
    cout << dp[n] << endl;
    for(int i : valasztott){
        if(i == 0){
            jo++;
        }
    }
    cout << jo << " ";
    for(int i : valasztott){
        b++;
        if(i == 0){
            cout << b+1 << " ";
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base6/55
1Elfogadva0/01ms316 KiB
2Hibás válasz0/01ms316 KiB
3Hibás válasz0/31ms316 KiB
4Hibás válasz0/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Hibás válasz0/31ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/31ms332 KiB
12Hibás válasz0/31ms316 KiB
13Hibás válasz0/41ms368 KiB
14Hibás válasz0/41ms316 KiB
15Hibás válasz0/51ms316 KiB
16Hibás válasz0/61ms316 KiB
17Hibás válasz0/62ms508 KiB