217292026-01-13 18:33:12algoproBenzinkút üzemeltetés (55)cpp17Wrong answer 12/554ms1564 KiB
// UUID: 633ad531-1423-445c-b9b8-dc701e7bcd35
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> v;
vector<vector<int>> dp;
vector<int> t;

int main()
{
	int n, k;
    cin >> n >> k;
    v.resize(n+1, vector<int>(2));
    dp.resize(n+1, vector<int>(1));
    for(int i=1; i<=n; i++)
    {
        cin >> v[i][0] >> v[i][1];
    }
    dp[0][0]=0;
    int elozo;
    for(int i=1; i<=n; i++)
    {
        int elozo=-1;
        for(int j=i-1; j>0; j--)
        {
            if(v[i][0]-v[j][0]>=k)
            {
                //cout<<v[i][0]<<" "<<v[j][0]<<endl;
                //cout<<j<<" "<<i<<endl;
                dp[i][0]=max(dp[i-1][0], dp[j][0]+v[i][1]);
                if(dp[i-1][0]>=dp[j][0]+v[i][1])
                {
                    elozo=i-1;
                }
                else elozo=j;
                break;
            }
        }
        if (elozo==-1){
            if (v[i][1]>dp[i-1][0]){
                dp[i][0]=v[i][1];
                dp[i].push_back(i);
            }
            else{
                dp[i][0]=dp[i-1][0];
                for(int j=1; j<dp[i-1].size(); j++)
                {
                    dp[i].push_back(dp[i-1][j]);
                }
            }
        }
        else if(elozo==i-1)
        {
            for(int j=1; j<dp[i-1].size(); j++)
            {
                dp[i].push_back(dp[i-1][j]);
            }
        }
        else
        {
            for(int j=1; j<dp[elozo].size(); j++)
            {
                dp[i].push_back(dp[elozo][j]);
            }
            dp[i].push_back(i);
        }
    }
    cout << dp[n][0] << '\n' << dp[n].size()-1 << " ";
    for(int i=1; i<dp[n].size(); i++)
    {
        cout << dp[n][i] << " ";
    }
}
/*
3 2 



*/
SubtaskSumTestVerdictTimeMemory
base12/55
1Accepted0/01ms508 KiB
2Wrong answer0/04ms1332 KiB
3Wrong answer0/31ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms508 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Wrong answer0/31ms316 KiB
9Wrong answer0/31ms316 KiB
10Wrong answer0/31ms316 KiB
11Wrong answer0/31ms316 KiB
12Wrong answer0/32ms564 KiB
13Wrong answer0/42ms564 KiB
14Wrong answer0/42ms732 KiB
15Wrong answer0/52ms880 KiB
16Wrong answer0/63ms1268 KiB
17Wrong answer0/63ms1564 KiB