140072025-01-09 17:17:20PallanekPéterBenzinkút üzemeltetés (55)cpp17Wrong answer 21/553ms1588 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    int n,k; cin>>n>>k;
    int T[n],H[n],dp[n];
    for (int i=0;i<n;i++){
        cin >> T[i] >> H[i];
    }
    dp[0]=0;
    vector<vector<int>> benzinkut(n);
    benzinkut.push_back({});
    for (int i=1;i<n;i++){
        int j=i-1;
        while (j>0 && T[j]>T[i]-k){j--;}
        if (dp[i-1]>dp[j]+H[i]){
            dp[i]=dp[i-1]; benzinkut[i]=benzinkut[i-1];
        }
        else{
            dp[i]=dp[j]+H[i];
            benzinkut[i]=benzinkut[j];
            benzinkut[i].push_back(i+1);
        }
    }
    cout << dp[n-1] << "\n";
    cout << benzinkut[n-1].size() << " ";
    for (int i:benzinkut[n-1]){cout << i << " ";}
}
SubtaskSumTestVerdictTimeMemory
base21/55
1Accepted0/01ms316 KiB
2Wrong answer0/03ms1588 KiB
3Wrong answer0/31ms512 KiB
4Wrong answer0/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms388 KiB
7Accepted3/31ms316 KiB
8Wrong answer0/31ms316 KiB
9Wrong answer0/31ms500 KiB
10Wrong answer0/31ms364 KiB
11Wrong answer0/31ms316 KiB
12Wrong answer0/32ms564 KiB
13Wrong answer0/42ms820 KiB
14Wrong answer0/42ms820 KiB
15Wrong answer0/52ms1272 KiB
16Accepted6/63ms1332 KiB
17Accepted6/63ms1428 KiB