200432025-12-31 11:08:14PappMatyasMunkákcpp17Partially correct 0/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[1];
        dp[1] = dayVal[1];
        if (dayIndex[1] != -1)
        {
            sols[0].reserve(1);
            sols[0] = { dayIndex[1] };
        }
        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] << endl;
    for (int ind : sols[n - 1])
    {
        cout << ind << " ";
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Partially correct1ms508 KiB
2Runtime error119ms65536 KiB
subtask20/10
3Wrong answer1ms500 KiB
4Wrong answer1ms508 KiB
5Wrong answer1ms316 KiB
6Wrong answer1ms316 KiB
7Wrong answer1ms316 KiB
subtask30/10
8Wrong answer1ms512 KiB
9Wrong answer1ms316 KiB
10Wrong answer1ms316 KiB
11Wrong answer1ms500 KiB
12Wrong answer1ms316 KiB
subtask40/10
13Wrong answer1ms500 KiB
14Wrong answer1ms508 KiB
15Wrong answer1ms316 KiB
16Wrong answer1ms316 KiB
17Wrong answer1ms316 KiB
18Wrong answer1ms324 KiB
19Wrong answer1ms316 KiB
20Wrong answer1ms316 KiB
21Wrong answer1ms500 KiB
22Wrong answer1ms316 KiB
subtask50/10
23Wrong answer1ms512 KiB
24Wrong answer1ms316 KiB
25Wrong answer1ms316 KiB
26Wrong answer1ms500 KiB
27Wrong answer1ms316 KiB
28Wrong answer2ms564 KiB
29Wrong answer2ms820 KiB
30Wrong answer2ms864 KiB
31Wrong answer2ms820 KiB
32Wrong answer2ms1136 KiB
subtask60/10
33Wrong answer1ms500 KiB
34Wrong answer1ms508 KiB
35Wrong answer1ms316 KiB
36Wrong answer1ms316 KiB
37Wrong answer1ms316 KiB
38Wrong answer1ms512 KiB
39Wrong answer1ms316 KiB
40Wrong answer1ms316 KiB
41Wrong answer1ms500 KiB
42Wrong answer1ms316 KiB
43Wrong answer1ms324 KiB
44Wrong answer1ms316 KiB
45Wrong answer1ms316 KiB
46Wrong answer1ms500 KiB
47Wrong answer1ms316 KiB
48Wrong answer2ms564 KiB
49Wrong answer2ms820 KiB
50Wrong answer2ms864 KiB
51Wrong answer2ms820 KiB
52Wrong answer2ms1136 KiB
53Wrong answer4ms3184 KiB
54Wrong answer4ms2936 KiB
55Wrong answer4ms2884 KiB
56Wrong answer4ms2672 KiB
57Wrong answer4ms2928 KiB
subtask70/10
58Wrong answer1ms500 KiB
59Wrong answer1ms508 KiB
60Wrong answer1ms316 KiB
61Wrong answer1ms316 KiB
62Wrong answer1ms316 KiB
63Wrong answer1ms512 KiB
64Wrong answer1ms316 KiB
65Wrong answer1ms316 KiB
66Wrong answer1ms500 KiB
67Wrong answer1ms316 KiB
68Wrong answer1ms324 KiB
69Wrong answer1ms316 KiB
70Wrong answer1ms316 KiB
71Wrong answer1ms500 KiB
72Wrong answer1ms316 KiB
73Wrong answer2ms564 KiB
74Wrong answer2ms820 KiB
75Wrong answer2ms864 KiB
76Wrong answer2ms820 KiB
77Wrong answer2ms1136 KiB
78Wrong answer4ms3184 KiB
79Wrong answer4ms2936 KiB
80Wrong answer4ms2884 KiB
81Wrong answer4ms2672 KiB
82Wrong answer4ms2928 KiB
83Runtime error86ms65536 KiB
84Runtime error98ms65536 KiB
85Runtime error86ms65536 KiB
86Runtime error97ms65536 KiB
87Runtime error97ms65536 KiB
subtask80/20
88Wrong answer1ms500 KiB
89Wrong answer1ms508 KiB
90Wrong answer1ms316 KiB
91Wrong answer1ms316 KiB
92Wrong answer1ms316 KiB
93Wrong answer1ms512 KiB
94Wrong answer1ms316 KiB
95Wrong answer1ms316 KiB
96Wrong answer1ms500 KiB
97Wrong answer1ms316 KiB
98Wrong answer1ms324 KiB
99Wrong answer1ms316 KiB
100Wrong answer1ms316 KiB
101Wrong answer1ms500 KiB
102Wrong answer1ms316 KiB
103Wrong answer2ms564 KiB
104Wrong answer2ms820 KiB
105Wrong answer2ms864 KiB
106Wrong answer2ms820 KiB
107Wrong answer2ms1136 KiB
108Wrong answer4ms3184 KiB
109Wrong answer4ms2936 KiB
110Wrong answer4ms2884 KiB
111Wrong answer4ms2672 KiB
112Wrong answer4ms2928 KiB
113Runtime error86ms65536 KiB
114Runtime error98ms65536 KiB
115Runtime error86ms65536 KiB
116Runtime error97ms65536 KiB
117Runtime error97ms65536 KiB
118Runtime error119ms65536 KiB
119Runtime error130ms65536 KiB
120Runtime error136ms65536 KiB
121Runtime error122ms65536 KiB
122Runtime error125ms65536 KiB
123Runtime error128ms65536 KiB
124Runtime error119ms65536 KiB
125Runtime error131ms65536 KiB
126Runtime error129ms65536 KiB
127Runtime error130ms65536 KiB