252672026-02-18 22:01:09999Múzeumi őrökcpp17Futási hiba 32/4030ms32000 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
//#define int long long

signed main() {
    int n,e,u;cin>>n>>e>>u; //duhiti ont brusszel?
    u-=e;
    u++;
    vector<array<int,2>> dp(u+1,{(int)1e12,-1});
    vector<vector<array<int,2>>> v(u+1),sp(u+1);
    vector<array<int,2>> ertekek(n);
    for(int i = 0;i<n;i++){
        int a,b,c;cin>>a>>b>>c;
        a-=e;
        b-=e;
        b++;
        a++;
        ertekek[i]={a,b};
        v[b].push_back({c,i+1});//a
        sp[a].push_back({c,i+1});//b
    }
    dp[0][0]=0;
    set<array<int,3>> s;
    for(int i = 1;i<=u;i++){
        for(auto[c,ind]:sp[i]){
            int b=ertekek[ind-1][1];
            s.insert({dp[i-1][0]+c,b,ind});
        }
        if(s.empty()){
            cout<<-1;
            return 0;
        }
        auto it=s.begin();
        auto [cost,bb,index]=*it;
        dp[i][0]=cost;
        dp[i][1]=index;
        for(auto[c,ind]:v[i]){
            int a=ertekek[ind-1][0];
            s.erase({dp[a-1][0]+c,i,ind});
        }
        /*cout<<i<<':'<<endl;
        for(auto[cost,b,ind]:s){
            cout<<ind<<' ';
        }
        cout<<endl;
        cout<<dp[i][0]<<' ';*/
    }//cout<<endl;
    if(dp[u][0]==(int)1e12||dp[u][1]==-1){
        cout<<-1;
        return 0;
    }
    cout<<dp[u][0]<<endl;
    vector<int> ans;
    int i = u;
    while(i!=0){
        ans.push_back(dp[i][1]);
        i=ertekek[dp[i][1]-1][0];
        i--;
    }cout<<ans.size()<<' ';
    sort(ans.begin(),ans.end());
    for(int i : ans)cout<<i<<' ';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base32/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/019ms3124 KiB
3Elfogadva1/11ms500 KiB
4Elfogadva3/31ms508 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms332 KiB
10Futási hiba0/230ms32000 KiB
11Futási hiba0/225ms32000 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva2/26ms820 KiB
14Elfogadva3/318ms3704 KiB
15Elfogadva3/318ms3780 KiB
16Futási hiba0/226ms32000 KiB
17Futási hiba0/225ms32000 KiB
18Elfogadva2/21ms316 KiB
19Elfogadva2/21ms316 KiB
20Elfogadva2/21ms316 KiB
21Elfogadva2/21ms316 KiB