141362025-01-09 21:13:42mateBenzinkút üzemeltetés (55)cpp17Hibás válasz 3/552ms508 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n,k,a,b; cin >> n >> k;
    vector <pair <int,int>> v(n);
    for(int i = 0; i < n; i++){
        cin >> a >> b;
        v[i] = {a,b};
    }
    long long haszon = 0, tav = 0;
    int elozo = 0,azelotti = 0;
    vector <int> dp;
    vector <int> kutak;
    dp.push_back(v[0].second);
    tav = v[0].first;
    for(int i = 1; i < n; i++){
        if(v[i].first - tav < k){
            if(dp[dp.size()-1] - haszon >= v[i].second){
                //kutak.push_back(azelotti);
            }else{

                dp.push_back(v[i].second + haszon);
                tav = v[i].first;
                haszon = dp[dp.size()-2];
                kutak.push_back(azelotti);
                azelotti = elozo;
                elozo = i;
            }
        }else{

            dp.push_back(v[i].second + haszon);
            tav = v[i].first;
            haszon = dp[dp.size()-2];
            kutak.push_back(azelotti);
            azelotti = elozo;
            elozo = i;
        }
    }
    kutak.push_back(elozo);
    cout << dp[dp.size()-1] << '\n' << kutak.size()-2 << ' ';
    for(int i = 0; i < kutak.size(); i++){
        if(i > 1){
            cout << kutak[i]+1 << ' ';
        }
    }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base3/55
1Elfogadva0/01ms316 KiB
2Hibás válasz0/02ms504 KiB
3Hibás válasz0/31ms500 KiB
4Hibás válasz0/31ms320 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Hibás válasz0/31ms316 KiB
9Hibás válasz0/31ms404 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/31ms316 KiB
12Hibás válasz0/31ms508 KiB
13Hibás válasz0/41ms316 KiB
14Hibás válasz0/41ms328 KiB
15Hibás válasz0/52ms508 KiB
16Hibás válasz0/61ms316 KiB
17Hibás válasz0/61ms316 KiB