208542026-01-10 11:12:34domdiridomdidomMunkákcpp17Részben helyes 56/8068ms2488 KiB
#include <iostream>
#include <utility>
#include <vector>

int main() {
   int n, m;
   std::cin >> n >> m;
   std::vector<std::pair<int, int>> nap(n, {0, -1});
   std::vector<std::pair<int, int>> d(n, {0, 0});
   for(int i = 0; i < m; i++) {
      int a, h;
      std::cin >> a >> h;
      a--;
      if(h > nap[a].first) {
         nap[a].first = h;
         nap[a].second = i;
      }
   }
   d[0] = {nap[0].first, 1};
   if(n > 1) {
      if(nap[1].first > d[0].first) {
         d[1].first = nap[1].first;
         d[1].second = 1;
      } else {
         d[1].first = d[0].first;
         d[1].second = 0;
      }
   }
   for(int i = 2; i < n; i++) {
      int cur = d[i - 2].first + nap[i].first;
      if(cur > d[i - 1].first) {
         d[i] = {cur, 1};
      } else {
         d[i] = {d[i - 1].first, 0};
      }
   }

   std::vector<int> kivalasztott;
   for(int i = n - 1; i >= 0;) {
      if(d[i].second) {
         kivalasztott.push_back(nap[i].second + 1);
         i -= 2;
      }
      else
         i--;
   }

   std::cout << d[n - 1].first << ' ' << kivalasztott.size() << '\n';
   for(int i = kivalasztott.size() - 1; i >= 0; i--) {
      std::cout << kivalasztott[i] << ' ';
   }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms500 KiB
2Elfogadva57ms564 KiB
subtask210/10
3Elfogadva1ms316 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms508 KiB
6Elfogadva1ms508 KiB
7Elfogadva1ms316 KiB
subtask36/10
8Elfogadva1ms524 KiB
9Részben helyes1ms316 KiB
10Elfogadva1ms316 KiB
11Részben helyes1ms316 KiB
12Részben helyes1ms316 KiB
subtask410/10
13Elfogadva1ms316 KiB
14Elfogadva1ms316 KiB
15Elfogadva1ms508 KiB
16Elfogadva1ms508 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms508 KiB
21Elfogadva1ms508 KiB
22Elfogadva1ms316 KiB
subtask56/10
23Elfogadva1ms524 KiB
24Részben helyes1ms316 KiB
25Elfogadva1ms316 KiB
26Részben helyes1ms316 KiB
27Részben helyes1ms316 KiB
28Részben helyes1ms316 KiB
29Részben helyes1ms316 KiB
30Részben helyes1ms316 KiB
31Részben helyes1ms316 KiB
32Részben helyes1ms316 KiB
subtask66/10
33Elfogadva1ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms508 KiB
36Elfogadva1ms508 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms524 KiB
39Részben helyes1ms316 KiB
40Elfogadva1ms316 KiB
41Részben helyes1ms316 KiB
42Részben helyes1ms316 KiB
43Elfogadva1ms316 KiB
44Elfogadva1ms316 KiB
45Elfogadva1ms508 KiB
46Elfogadva1ms508 KiB
47Elfogadva1ms316 KiB
48Részben helyes1ms316 KiB
49Részben helyes1ms316 KiB
50Részben helyes1ms316 KiB
51Részben helyes1ms316 KiB
52Részben helyes1ms316 KiB
53Részben helyes1ms316 KiB
54Részben helyes1ms316 KiB
55Részben helyes1ms500 KiB
56Részben helyes1ms564 KiB
57Részben helyes1ms316 KiB
subtask76/10
58Elfogadva1ms316 KiB
59Elfogadva1ms316 KiB
60Elfogadva1ms508 KiB
61Elfogadva1ms508 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms524 KiB
64Részben helyes1ms316 KiB
65Elfogadva1ms316 KiB
66Részben helyes1ms316 KiB
67Részben helyes1ms316 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms316 KiB
70Elfogadva1ms508 KiB
71Elfogadva1ms508 KiB
72Elfogadva1ms316 KiB
73Részben helyes1ms316 KiB
74Részben helyes1ms316 KiB
75Részben helyes1ms316 KiB
76Részben helyes1ms316 KiB
77Részben helyes1ms316 KiB
78Részben helyes1ms316 KiB
79Részben helyes1ms316 KiB
80Részben helyes1ms500 KiB
81Részben helyes1ms564 KiB
82Részben helyes1ms316 KiB
83Elfogadva32ms1452 KiB
84Részben helyes34ms1456 KiB
85Elfogadva34ms1456 KiB
86Elfogadva34ms1456 KiB
87Elfogadva34ms1348 KiB
subtask812/20
88Elfogadva1ms316 KiB
89Elfogadva1ms316 KiB
90Elfogadva1ms508 KiB
91Elfogadva1ms508 KiB
92Elfogadva1ms316 KiB
93Elfogadva1ms524 KiB
94Részben helyes1ms316 KiB
95Elfogadva1ms316 KiB
96Részben helyes1ms316 KiB
97Részben helyes1ms316 KiB
98Elfogadva1ms316 KiB
99Elfogadva1ms316 KiB
100Elfogadva1ms508 KiB
101Elfogadva1ms508 KiB
102Elfogadva1ms316 KiB
103Részben helyes1ms316 KiB
104Részben helyes1ms316 KiB
105Részben helyes1ms316 KiB
106Részben helyes1ms316 KiB
107Részben helyes1ms316 KiB
108Részben helyes1ms316 KiB
109Részben helyes1ms316 KiB
110Részben helyes1ms500 KiB
111Részben helyes1ms564 KiB
112Részben helyes1ms316 KiB
113Elfogadva32ms1452 KiB
114Részben helyes34ms1456 KiB
115Elfogadva34ms1456 KiB
116Elfogadva34ms1456 KiB
117Elfogadva34ms1348 KiB
118Elfogadva67ms2356 KiB
119Elfogadva68ms2364 KiB
120Részben helyes68ms2368 KiB
121Részben helyes68ms2356 KiB
122Elfogadva68ms2372 KiB
123Elfogadva65ms2488 KiB
124Részben helyes68ms2364 KiB
125Elfogadva68ms2360 KiB
126Elfogadva68ms2356 KiB
127Elfogadva67ms2356 KiB