244032026-02-11 08:44:35KisKocsogBenzinkút üzemeltetés (55)cpp17Elfogadva 55/552ms644 KiB
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;

struct piheno{
    long long tav,hat;
};

struct valami{
    long long tav,hat,p;
};

int main()
{
    //ifstream f("genyo.txt");

    long long n,k;
    cin>>n>>k;

    piheno a[n];
    valami opt[n];
    piheno legjobb;

    for(int i=0;i<n;i++){
        cin>>a[i].tav>>a[i].hat;
        //f>>a[i].tav>>a[i].hat;
    }

    legjobb.tav = n-1;
    legjobb.hat = a[n-1].hat;

    piheno kovi;
    kovi.hat=0;

    for(int i=n-1;i>=0;i--){
        opt[i].hat = a[i].hat;
        opt[i].tav = a[i].tav;
        kovi.hat=0;
        for(int j=i+1;j<n;j++){
            if(a[j].tav - opt[i].tav >= k){
                if(opt[j].hat>kovi.hat)
                {
                    kovi.hat = opt[j].hat;
                    kovi.tav = j;
                }
            }

        }
        if(kovi.hat!=0){
            opt[i].hat = a[i].hat + opt[kovi.tav].hat;
            opt[i].p = kovi.tav;
        }else{
            opt[i].p = n;
        }

    }

    piheno startPoint;
    startPoint.hat = 0;

    for(int i=0;i<n;i++){
        if(opt[i].hat > startPoint.hat){
            startPoint.hat = opt[i].hat;
            startPoint.tav = i;
        }
    }
    int d=0;
    cout<<startPoint.hat<<endl;
    queue <long long> benzinkutak;
    while(startPoint.tav!=n){
        benzinkutak.push(startPoint.tav+1);
        d++;
        startPoint.tav = opt[startPoint.tav].p;

    }


    cout<<d<<" ";
    while(!benzinkutak.empty()){
        cout<<benzinkutak.front()<<" ";
        benzinkutak.pop();
    }




    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms508 KiB
2Elfogadva0/02ms500 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms364 KiB
7Elfogadva3/31ms392 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms508 KiB
12Elfogadva3/31ms416 KiB
13Elfogadva4/42ms316 KiB
14Elfogadva4/42ms316 KiB
15Elfogadva5/52ms316 KiB
16Elfogadva6/62ms316 KiB
17Elfogadva6/62ms644 KiB