186152025-10-29 11:01:29KristófMunkákcpp17Wrong answer 0/80679ms2232 KiB
#include <iostream>
#include <vector>

using namespace std;

struct dph
{
int take;
int bestp;
vector<int> taker;
vector<int> bestpr;
};

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    int n,m;
    cin>>n>>m;
    vector<pair<int,int>> data(n+1,{0,0});
    int x,y;
    for(int i=1;i<=m;i++)
        {
        cin>>x>>y;
        if(y>data[x].first)
            {
            data[x].first=y;
            data[x].second=i;
            }
        }
    dph curr,prev;
    curr.take=data[1].first;
    curr.taker.push_back(data[1].second);
    curr.bestp=0;
    for(int i=2;i<=n;i++)
        {
        prev=curr;
        curr.take=prev.bestp+data[i].first;
        curr.taker=prev.bestpr;
        if(data[i].second!=-1)
            curr.taker.push_back(data[i].second);

        if(prev.bestp>prev.take)
            {
            curr.bestp=prev.bestp;
            curr.bestpr=prev.bestpr;
            }
        else
            {
            curr.bestp=prev.take;
            curr.bestpr=prev.taker;
            }
        }
    if(curr.bestp>curr.take)
        {
        cout<<curr.bestp<<" ";
       
        cout<<curr.bestpr.size()<<endl;
        for(auto x : curr.bestpr)
            {
            if(x>0)
                {
                cout<<x<<" ";
                }
            }
        }
    else
        {
        cout<<curr.take<<" ";
        
        cout<<curr.taker.size()<<endl;
        for(auto x : curr.taker)
            {
            if(x>0)
                {
                cout<<x<<" ";
                }
            }
        }

    //for(auto x : curr.taker)
       // {
       // cout<<x<<" ";
       // }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Wrong answer1ms316 KiB
2Accepted35ms564 KiB
subtask20/10
3Accepted1ms508 KiB
4Wrong answer1ms316 KiB
5Accepted1ms316 KiB
6Accepted1ms316 KiB
7Accepted1ms316 KiB
subtask30/10
8Wrong answer1ms316 KiB
9Wrong answer1ms316 KiB
10Wrong answer1ms316 KiB
11Wrong answer1ms316 KiB
12Wrong answer1ms316 KiB
subtask40/10
13Accepted1ms508 KiB
14Wrong answer1ms316 KiB
15Accepted1ms316 KiB
16Accepted1ms316 KiB
17Accepted1ms316 KiB
18Wrong answer1ms316 KiB
19Accepted1ms316 KiB
20Accepted1ms316 KiB
21Accepted1ms316 KiB
22Accepted1ms316 KiB
subtask50/10
23Wrong answer1ms316 KiB
24Wrong answer1ms316 KiB
25Wrong answer1ms316 KiB
26Wrong answer1ms316 KiB
27Wrong answer1ms316 KiB
28Wrong answer4ms564 KiB
29Wrong answer6ms700 KiB
30Wrong answer8ms564 KiB
31Wrong answer9ms644 KiB
32Wrong answer16ms728 KiB
subtask60/10
33Accepted1ms508 KiB
34Wrong answer1ms316 KiB
35Accepted1ms316 KiB
36Accepted1ms316 KiB
37Accepted1ms316 KiB
38Wrong answer1ms316 KiB
39Wrong answer1ms316 KiB
40Wrong answer1ms316 KiB
41Wrong answer1ms316 KiB
42Wrong answer1ms316 KiB
43Wrong answer1ms316 KiB
44Accepted1ms316 KiB
45Accepted1ms316 KiB
46Accepted1ms316 KiB
47Accepted1ms316 KiB
48Wrong answer4ms564 KiB
49Wrong answer6ms700 KiB
50Wrong answer8ms564 KiB
51Wrong answer9ms644 KiB
52Wrong answer16ms728 KiB
53Wrong answer16ms564 KiB
54Wrong answer16ms564 KiB
55Wrong answer16ms564 KiB
56Wrong answer16ms564 KiB
57Wrong answer16ms736 KiB
subtask70/10
58Accepted1ms508 KiB
59Wrong answer1ms316 KiB
60Accepted1ms316 KiB
61Accepted1ms316 KiB
62Accepted1ms316 KiB
63Wrong answer1ms316 KiB
64Wrong answer1ms316 KiB
65Wrong answer1ms316 KiB
66Wrong answer1ms316 KiB
67Wrong answer1ms316 KiB
68Wrong answer1ms316 KiB
69Accepted1ms316 KiB
70Accepted1ms316 KiB
71Accepted1ms316 KiB
72Accepted1ms316 KiB
73Wrong answer4ms564 KiB
74Wrong answer6ms700 KiB
75Wrong answer8ms564 KiB
76Wrong answer9ms644 KiB
77Wrong answer16ms728 KiB
78Wrong answer16ms564 KiB
79Wrong answer16ms564 KiB
80Wrong answer16ms564 KiB
81Wrong answer16ms564 KiB
82Wrong answer16ms736 KiB
83Wrong answer433ms1664 KiB
84Wrong answer435ms1660 KiB
85Wrong answer432ms1652 KiB
86Wrong answer430ms1656 KiB
87Wrong answer428ms1668 KiB
subtask80/20
88Accepted1ms508 KiB
89Wrong answer1ms316 KiB
90Accepted1ms316 KiB
91Accepted1ms316 KiB
92Accepted1ms316 KiB
93Wrong answer1ms316 KiB
94Wrong answer1ms316 KiB
95Wrong answer1ms316 KiB
96Wrong answer1ms316 KiB
97Wrong answer1ms316 KiB
98Wrong answer1ms316 KiB
99Accepted1ms316 KiB
100Accepted1ms316 KiB
101Accepted1ms316 KiB
102Accepted1ms316 KiB
103Wrong answer4ms564 KiB
104Wrong answer6ms700 KiB
105Wrong answer8ms564 KiB
106Wrong answer9ms644 KiB
107Wrong answer16ms728 KiB
108Wrong answer16ms564 KiB
109Wrong answer16ms564 KiB
110Wrong answer16ms564 KiB
111Wrong answer16ms564 KiB
112Wrong answer16ms736 KiB
113Wrong answer433ms1664 KiB
114Wrong answer435ms1660 KiB
115Wrong answer432ms1652 KiB
116Wrong answer430ms1656 KiB
117Wrong answer428ms1668 KiB
118Time limit exceeded674ms2220 KiB
119Time limit exceeded674ms2232 KiB
120Time limit exceeded672ms2216 KiB
121Time limit exceeded674ms2220 KiB
122Time limit exceeded677ms2228 KiB
123Time limit exceeded676ms2232 KiB
124Time limit exceeded677ms2228 KiB
125Time limit exceeded679ms2232 KiB
126Time limit exceeded671ms2224 KiB
127Time limit exceeded671ms2228 KiB