133712025-01-07 17:25:46marhaporkoltBenzinkút üzemeltetés (55)cpp17Hibás válasz 31/552ms432 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n,k;
    cin>>n>>k;
    vector<int> v(n);
    vector<int> h(n);
    for (int i=0; i<n; i++){
        cin>>v[i]>>h[i];
    }
    vector<int> ans;
    int haszon=0;
    vector<int> dp(n);
    dp[0]=h[0];
    for (int i=1; i<n; i++){
        int maxi=0;
        int j=0;
        while (v[j]<=v[i]-k){
            if (dp[j]>maxi){
                maxi=dp[j];
            }
            j++;
        }
        dp[i]=maxi+h[i];
    }
    haszon=dp[n-1];
    cout<<haszon<<endl;
    for (int i=n-1; i>=0; i--){
        if (haszon==dp[i]){
            ans.push_back(i+1);
            haszon-=h[i];
        }
    }
    cout<<ans.size()<<" ";
    reverse(ans.begin(),ans.end());
    for (auto i:ans){
        cout<<i<<" ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base31/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms316 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Elfogadva3/31ms316 KiB
9Hibás válasz0/31ms348 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms316 KiB
12Hibás válasz0/31ms316 KiB
13Részben helyes2/41ms432 KiB
14Hibás válasz0/41ms316 KiB
15Részben helyes2/52ms316 KiB
16Részben helyes3/62ms428 KiB
17Elfogadva6/62ms316 KiB