200452025-12-31 11:13:00PappMatyasMunkákcpp17Futási hiba 50/80136ms65536 KiB
#include <iostream>
#include <vector>

using namespace std;

vector<int> dayVal;
vector<int> dayIndex;
vector<int> dp;
vector<vector<int>> sols;

int main()
{
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < n; i++)
    {
        dayVal.push_back(0);
        dayIndex.push_back(-1);
        sols.push_back(vector<int>(0));
        dp.push_back(0);
    }
    for (int i = 0; i < m; i++)
    {
        int day, val;
        cin >> day >> val;
        day--;
        if (dayVal[day] < val)
        {
            dayVal[day] = val;
            dayIndex[day] = i + 1;
        }
    }
    if (dayVal[0] > dayVal[1])
    {
        dp[0] = dayVal[0];
        dp[1] = dayVal[0];
        if (dayIndex[0] != -1)
        {
            sols[0].reserve(1);
            sols[0] = { dayIndex[0] };
        }
        if (dayIndex[0] != -1)
        {
            sols[1].reserve(1);
            sols[1] = { dayIndex[0] };
        }
    }
    else
    {
        dp[0] = dayVal[0];
        dp[1] = dayVal[1];
        if (dayIndex[0] != -1)
        {
            sols[0].reserve(1);
            sols[0] = { dayIndex[0] };
        }
        if (dayIndex[1] != -1)
        {
            sols[1].reserve(1);
            sols[1] = { dayIndex[1] };
        }
    }
    
    for (int i = 2; i < n; i++)
    {
        if (dp[i - 2] + dayVal[i] > dp[i - 1])
        {
            sols[i].reserve(sols[i - 2].size());
            sols[i].insert(sols[i].end(), sols[i - 2].begin(), sols[i - 2].end());
            if (dayIndex[i] != -1)
            {
                sols[i].push_back(dayIndex[i]);
            }
            dp[i] = dp[i - 2] + dayVal[i];
        }
        else
        {
            sols[i].reserve(sols[i - 1].size());
            sols[i].insert(sols[i].end(), sols[i - 1].begin(), sols[i - 1].end());
            dp[i] = dp[i - 1];
        }
    }
    cout << dp[n - 1] << " " << sols[n - 1].size() << endl;
    for (int ind : sols[n - 1])
    {
        cout << ind << " ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Futási hiba123ms65536 KiB
subtask210/10
3Elfogadva1ms324 KiB
4Elfogadva2ms500 KiB
5Elfogadva1ms500 KiB
6Elfogadva2ms316 KiB
7Elfogadva1ms316 KiB
subtask310/10
8Elfogadva1ms316 KiB
9Elfogadva1ms568 KiB
10Elfogadva2ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
subtask410/10
13Elfogadva1ms324 KiB
14Elfogadva2ms500 KiB
15Elfogadva1ms500 KiB
16Elfogadva2ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms508 KiB
subtask510/10
23Elfogadva1ms316 KiB
24Elfogadva1ms568 KiB
25Elfogadva2ms316 KiB
26Elfogadva1ms316 KiB
27Elfogadva1ms316 KiB
28Elfogadva2ms564 KiB
29Elfogadva2ms820 KiB
30Elfogadva2ms820 KiB
31Elfogadva3ms820 KiB
32Elfogadva3ms1136 KiB
subtask610/10
33Elfogadva1ms324 KiB
34Elfogadva2ms500 KiB
35Elfogadva1ms500 KiB
36Elfogadva2ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
39Elfogadva1ms568 KiB
40Elfogadva2ms316 KiB
41Elfogadva1ms316 KiB
42Elfogadva1ms316 KiB
43Elfogadva1ms316 KiB
44Elfogadva1ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms508 KiB
48Elfogadva2ms564 KiB
49Elfogadva2ms820 KiB
50Elfogadva2ms820 KiB
51Elfogadva3ms820 KiB
52Elfogadva3ms1136 KiB
53Elfogadva4ms3184 KiB
54Elfogadva4ms2928 KiB
55Elfogadva4ms2928 KiB
56Elfogadva4ms2928 KiB
57Elfogadva4ms2780 KiB
subtask70/10
58Elfogadva1ms324 KiB
59Elfogadva2ms500 KiB
60Elfogadva1ms500 KiB
61Elfogadva2ms316 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Elfogadva1ms568 KiB
65Elfogadva2ms316 KiB
66Elfogadva1ms316 KiB
67Elfogadva1ms316 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms316 KiB
70Elfogadva1ms316 KiB
71Elfogadva1ms316 KiB
72Elfogadva1ms508 KiB
73Elfogadva2ms564 KiB
74Elfogadva2ms820 KiB
75Elfogadva2ms820 KiB
76Elfogadva3ms820 KiB
77Elfogadva3ms1136 KiB
78Elfogadva4ms3184 KiB
79Elfogadva4ms2928 KiB
80Elfogadva4ms2928 KiB
81Elfogadva4ms2928 KiB
82Elfogadva4ms2780 KiB
83Futási hiba87ms65536 KiB
84Futási hiba87ms65536 KiB
85Futási hiba98ms65536 KiB
86Futási hiba98ms65536 KiB
87Futási hiba100ms65536 KiB
subtask80/20
88Elfogadva1ms324 KiB
89Elfogadva2ms500 KiB
90Elfogadva1ms500 KiB
91Elfogadva2ms316 KiB
92Elfogadva1ms316 KiB
93Elfogadva1ms316 KiB
94Elfogadva1ms568 KiB
95Elfogadva2ms316 KiB
96Elfogadva1ms316 KiB
97Elfogadva1ms316 KiB
98Elfogadva1ms316 KiB
99Elfogadva1ms316 KiB
100Elfogadva1ms316 KiB
101Elfogadva1ms316 KiB
102Elfogadva1ms508 KiB
103Elfogadva2ms564 KiB
104Elfogadva2ms820 KiB
105Elfogadva2ms820 KiB
106Elfogadva3ms820 KiB
107Elfogadva3ms1136 KiB
108Elfogadva4ms3184 KiB
109Elfogadva4ms2928 KiB
110Elfogadva4ms2928 KiB
111Elfogadva4ms2928 KiB
112Elfogadva4ms2780 KiB
113Futási hiba87ms65536 KiB
114Futási hiba87ms65536 KiB
115Futási hiba98ms65536 KiB
116Futási hiba98ms65536 KiB
117Futási hiba100ms65536 KiB
118Futási hiba133ms65536 KiB
119Futási hiba123ms65536 KiB
120Futási hiba123ms65536 KiB
121Futási hiba134ms65536 KiB
122Futási hiba133ms65536 KiB
123Futási hiba119ms65536 KiB
124Futási hiba131ms65536 KiB
125Futási hiba131ms65536 KiB
126Futási hiba136ms65536 KiB
127Futási hiba131ms65536 KiB