130952025-01-06 14:27:23ercseferencBenzinkút üzemeltetés (55)cpp17Elfogadva 55/554ms1740 KiB
#include <bits/stdc++.h>
using namespace std;
struct pih{int ert,tav,penz=0; vector<int>bem;};;
int main()
{
    int n,m; cin>>n>>m;
    pih a[n];
    for(int i=0; i<n; i++){cin>>a[i].tav>>a[i].ert;}
    int maxi=a[n-1].tav,j=n-1; bool tavi=0;
    while(!tavi){
        a[j].penz=a[j].ert; a[j].bem.push_back(j);
        if(m<=maxi-a[j-1].tav)tavi=1;
        j--;}
    int p,maxim,maxind;
    for(int i=j; i>=0; i--){
        p=i; maxim=0;
        while(p<n){
            if(a[p].tav-a[i].tav>=m && a[p].penz>maxim){
                maxim=a[p].penz; maxind=p;}
                p++;}
        a[i].penz=a[i].ert+maxim;
        a[i].bem=a[maxind].bem; a[i].bem.push_back(i);}
    maxim=0;
    for(int i=0; i<n; i++){if(a[i].penz>maxim){maxim=a[i].penz; maxind=i;}}
    cout<<a[maxind].penz<<endl;
    cout<<a[maxind].bem.size()<<" ";
    sort(a[maxind].bem.begin(),a[maxind].bem.end());
    for(int i=0; i<a[maxind].bem.size(); i++){cout<<a[maxind].bem[i]+1<<" ";}
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms1724 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms508 KiB
6Elfogadva3/31ms508 KiB
7Elfogadva3/31ms380 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms348 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/32ms632 KiB
13Elfogadva4/42ms820 KiB
14Elfogadva4/43ms948 KiB
15Elfogadva5/53ms1332 KiB
16Elfogadva6/63ms1616 KiB
17Elfogadva6/64ms1740 KiB