217292026-01-13 18:33:12algoproBenzinkút üzemeltetés (55)cpp17Hibás válasz 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 



*/
RészfeladatÖsszpontTesztVerdiktIdőMemória
base12/55
1Elfogadva0/01ms508 KiB
2Hibás válasz0/04ms1332 KiB
3Hibás válasz0/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms508 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Hibás válasz0/31ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/31ms316 KiB
12Hibás válasz0/32ms564 KiB
13Hibás válasz0/42ms564 KiB
14Hibás válasz0/42ms732 KiB
15Hibás válasz0/52ms880 KiB
16Hibás válasz0/63ms1268 KiB
17Hibás válasz0/63ms1564 KiB