197262025-12-20 13:52:16szjBenzinkút üzemeltetés (55)cpp17Wrong answer 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] << " ";
}
SubtaskSumTestVerdictTimeMemory
base36/55
1Accepted0/01ms316 KiB
2Accepted0/02ms508 KiB
3Accepted3/31ms508 KiB
4Accepted3/31ms316 KiB
5Wrong answer0/31ms316 KiB
6Wrong answer0/31ms316 KiB
7Wrong answer0/31ms316 KiB
8Accepted3/31ms316 KiB
9Wrong answer0/31ms316 KiB
10Accepted3/31ms316 KiB
11Accepted3/31ms316 KiB
12Wrong answer0/31ms316 KiB
13Accepted4/41ms400 KiB
14Wrong answer0/41ms316 KiB
15Accepted5/51ms316 KiB
16Accepted6/61ms316 KiB
17Accepted6/61ms316 KiB