141052025-01-09 19:25:35bovizdbBenzinkút üzemeltetés (55)cpp17Hibás válasz 23/553ms2632 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
#define ll long long
#define fs first
#define sc second
#define pb push_back
#define pll pair<ll, ll>
#define vll vector<ll>
#define v2ll vector<vll>
#define pqll priority_queue<ll>

const ll mod = 1e9+7;
const ll inf = LONG_LONG_MAX;

ll n, k;

void solve()
{
    cin >> n >> k;
    vector<pll> v(n);
    vll dp(n+1), dist(n+1);
    v2ll ans(n+1);
    for (auto &i : v) cin >> i.fs >> i.sc;
    for (ll i = 0; i < n; i++) {
        for (ll j = i; j >= 0; j--) {
            dp[i+1] = dp[i];
            dist[i+1] = dist[i];
            ans[i+1] = ans[i];
            if (v[i].fs - dist[j] >= k) {
                if (dp[j] + v[i].sc > dp[i]) {
                    dp[i+1] = dp[j] + v[i].sc;
                    dist[i+1] = v[i].fs;
                    ans[i+1] = ans[j];
                    ans[i+1].pb(i);
                }
                break;
            }
        }
    }
    cout << dp[n] << '\n';
    cout << ans[n].size();
    for (auto i : ans[n]) cout << ' ' << i+1;
}
 
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base23/55
1Elfogadva0/01ms512 KiB
2Hibás válasz0/03ms2356 KiB
3Elfogadva3/31ms316 KiB
4Hibás válasz0/31ms316 KiB
5Elfogadva3/31ms356 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms512 KiB
8Hibás válasz0/31ms500 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/31ms316 KiB
12Hibás válasz0/31ms820 KiB
13Hibás válasz0/42ms1524 KiB
14Hibás válasz0/42ms1332 KiB
15Elfogadva5/53ms1736 KiB
16Elfogadva6/63ms2284 KiB
17Hibás válasz0/63ms2632 KiB