201752026-01-03 20:49:18hunzombiMunkákcpp17Részben helyes 56/8070ms2480 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, m;

    cin >> n >> m;
    vector<int> best_value(n + 1, 0), best_id(n + 1, -1e9), dp(n + 1, -1e9), prev(n + 1, -1e9);


    for (int i=1; i <=  m; i++) {
        int u, v;
        cin >> u >> v;
        if (best_value[u] < v) {
            best_value[u] = v;
            best_id[u] = i;
        }
    }

    dp[0] = 0;
    dp[1] = best_value[1];

    int idx = 1;

    for (int i=2; i <= n; i++) {
        if (dp[i - 2] + best_value[i] > dp[i - 1]) {
            prev[i] = i - 2;
            dp[i] = dp[i - 2] + best_value[i];
        } else {
            prev[i] = i-1;
            dp[i] = dp[i - 1];
        }
        if (dp[i] > dp[idx]) {
            idx = i;
        }
    }

    cout << dp[idx] << ' ';

    vector<int> ans(0);

    while (idx > 0) {
        if (prev[idx] != idx - 1) {
            ans.push_back(best_id[idx]);
        }
        idx = prev[idx];
    }

    cout << ans.size() << '\n';

    for (int i=ans.size() - 1; i >= 0; i--) {
        cout << ans[i] << ' ';
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva56ms560 KiB
subtask210/10
3Elfogadva1ms316 KiB
4Elfogadva1ms508 KiB
5Elfogadva1ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva1ms316 KiB
subtask36/10
8Elfogadva1ms316 KiB
9Részben helyes1ms316 KiB
10Elfogadva1ms316 KiB
11Részben helyes1ms316 KiB
12Részben helyes1ms508 KiB
subtask410/10
13Elfogadva1ms316 KiB
14Elfogadva1ms508 KiB
15Elfogadva1ms316 KiB
16Elfogadva2ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms512 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms500 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms316 KiB
subtask56/10
23Elfogadva1ms316 KiB
24Részben helyes1ms316 KiB
25Elfogadva1ms316 KiB
26Részben helyes1ms316 KiB
27Részben helyes1ms508 KiB
28Részben helyes1ms316 KiB
29Részben helyes1ms404 KiB
30Részben helyes1ms316 KiB
31Részben helyes1ms316 KiB
32Részben helyes1ms316 KiB
subtask66/10
33Elfogadva1ms316 KiB
34Elfogadva1ms508 KiB
35Elfogadva1ms316 KiB
36Elfogadva2ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
39Részben helyes1ms316 KiB
40Elfogadva1ms316 KiB
41Részben helyes1ms316 KiB
42Részben helyes1ms508 KiB
43Elfogadva1ms512 KiB
44Elfogadva1ms316 KiB
45Elfogadva1ms500 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms316 KiB
48Részben helyes1ms316 KiB
49Részben helyes1ms404 KiB
50Részben helyes1ms316 KiB
51Részben helyes1ms316 KiB
52Részben helyes1ms316 KiB
53Részben helyes1ms316 KiB
54Részben helyes1ms316 KiB
55Részben helyes1ms316 KiB
56Részben helyes1ms388 KiB
57Részben helyes1ms316 KiB
subtask76/10
58Elfogadva1ms316 KiB
59Elfogadva1ms508 KiB
60Elfogadva1ms316 KiB
61Elfogadva2ms316 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Részben helyes1ms316 KiB
65Elfogadva1ms316 KiB
66Részben helyes1ms316 KiB
67Részben helyes1ms508 KiB
68Elfogadva1ms512 KiB
69Elfogadva1ms316 KiB
70Elfogadva1ms500 KiB
71Elfogadva1ms316 KiB
72Elfogadva1ms316 KiB
73Részben helyes1ms316 KiB
74Részben helyes1ms404 KiB
75Részben helyes1ms316 KiB
76Részben helyes1ms316 KiB
77Részben helyes1ms316 KiB
78Részben helyes1ms316 KiB
79Részben helyes1ms316 KiB
80Részben helyes1ms316 KiB
81Részben helyes1ms388 KiB
82Részben helyes1ms316 KiB
83Elfogadva32ms1444 KiB
84Részben helyes35ms1452 KiB
85Elfogadva35ms1332 KiB
86Elfogadva35ms1452 KiB
87Elfogadva35ms1332 KiB
subtask812/20
88Elfogadva1ms316 KiB
89Elfogadva1ms508 KiB
90Elfogadva1ms316 KiB
91Elfogadva2ms316 KiB
92Elfogadva1ms316 KiB
93Elfogadva1ms316 KiB
94Részben helyes1ms316 KiB
95Elfogadva1ms316 KiB
96Részben helyes1ms316 KiB
97Részben helyes1ms508 KiB
98Elfogadva1ms512 KiB
99Elfogadva1ms316 KiB
100Elfogadva1ms500 KiB
101Elfogadva1ms316 KiB
102Elfogadva1ms316 KiB
103Részben helyes1ms316 KiB
104Részben helyes1ms404 KiB
105Részben helyes1ms316 KiB
106Részben helyes1ms316 KiB
107Részben helyes1ms316 KiB
108Részben helyes1ms316 KiB
109Részben helyes1ms316 KiB
110Részben helyes1ms316 KiB
111Részben helyes1ms388 KiB
112Részben helyes1ms316 KiB
113Elfogadva32ms1444 KiB
114Részben helyes35ms1452 KiB
115Elfogadva35ms1332 KiB
116Elfogadva35ms1452 KiB
117Elfogadva35ms1332 KiB
118Elfogadva68ms2360 KiB
119Elfogadva68ms2480 KiB
120Részben helyes68ms2356 KiB
121Részben helyes70ms2356 KiB
122Elfogadva70ms2364 KiB
123Elfogadva68ms2372 KiB
124Részben helyes68ms2356 KiB
125Elfogadva68ms2356 KiB
126Elfogadva68ms2376 KiB
127Elfogadva70ms2480 KiB