197262025-12-20 13:52:16szjBenzinkút üzemeltetés (55)cpp17Hibás válasz 36/552ms508 KiB
#include <bits/stdc++.h>
using namespace std;
struct pont
{
    int loc, value, tav;
};
int main()
{
    //ifstream cin("f.txt");
    int n, k, a, b, i, j=0;
    cin >> n >> k;
    pont t[n], locma, globma;
    cin >> t[0].tav >> t[0].value;
    t[0].loc = -1;
    globma = t[0];
    locma.value = 0;
    locma.loc=-1;
    for(i=1; i<n; i++)
    {
        cin >> a >> b;
        t[i].tav=a;
        for(j; a-k>=t[j].tav; j++)
        {
            if(t[j].value > locma.value)
            {
                locma=t[j];
                locma.loc=j;
            }
        }
        if(locma.value+b>globma.value)
        {
            t[i].value=locma.value+b;
            t[i].loc=locma.loc;
            globma.loc=i;
            globma.tav=a;
            globma.value=t[i].value;
        }
        else
        {
            t[i].value=globma.value;
            t[i].loc=globma.loc;
        }
    }
    a=n-1;
    vector<int> vec;
    while(a!=-1)
    {
        vec.push_back(a+1);
        a=t[a].loc;
    }
    cout << t[n-1].value << endl << vec.size() << " ";
    for(i=vec.size()-1; i>=0; i--)cout << vec[i] << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base36/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms508 KiB
3Elfogadva3/31ms508 KiB
4Elfogadva3/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Elfogadva3/31ms316 KiB
9Hibás válasz0/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms316 KiB
12Hibás válasz0/31ms316 KiB
13Elfogadva4/41ms400 KiB
14Hibás válasz0/41ms316 KiB
15Elfogadva5/51ms316 KiB
16Elfogadva6/61ms316 KiB
17Elfogadva6/61ms316 KiB