252552026-02-18 21:48:38999Múzeumi őrökcpp17Hibás válasz 1/4032ms32000 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,3>>> v(u+1),sp(u+1);
    vector<array<int,3>> 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,c};
        v[b].push_back({a,c,i+1});
        sp[a].push_back({b,c,i+1});
    }
    dp[0][0]=0;
    set<array<int,3>> s;
    for(int i = 1;i<=u;i++){
        for(auto[b,c,ind]:sp[i]){
            s.insert({dp[i-1][0]+c,b,ind});
        }
        auto it=s.begin();
        auto [cost,bb,index]=*it;
        dp[i][0]=cost;
        dp[i][1]=index;
        for(auto[a,c,ind]:v[i]){
            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||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
base1/40
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/018ms3556 KiB
3Elfogadva1/12ms316 KiB
4Hibás válasz0/31ms316 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/21ms316 KiB
10Futási hiba0/226ms32000 KiB
11Futási hiba0/232ms32000 KiB
12Hibás válasz0/22ms448 KiB
13Hibás válasz0/26ms856 KiB
14Hibás válasz0/318ms4204 KiB
15Hibás válasz0/319ms4148 KiB
16Futási hiba0/225ms32000 KiB
17Futási hiba0/230ms32000 KiB
18Hibás válasz0/21ms316 KiB
19Hibás válasz0/21ms316 KiB
20Hibás válasz0/21ms316 KiB
21Hibás válasz0/21ms316 KiB