196202025-12-17 11:28:33szabel26Munkákcpp17Time limit exceeded 40/80688ms3684 KiB
// munkak.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct adat {
    int sorszam = 0, penz = 0;
};

vector<adat>napok;
vector<adat>sol;
vector<adat>sol2;

int n, m, maxi = 0;

int hasonlit(adat a, adat b)
{
    return a.penz > b.penz;
}

void check(int ossz)
{
    if (ossz >= maxi)
    {
        maxi = ossz;
        sol2 = sol;
        //sol.clear();
    }
}

void backtrack(int akt, int ossz)
{
    ossz += napok[akt].penz;
    sol.push_back(napok[akt]);
    if (akt != n && akt != n - 1)
    {
        for (int i = akt + 2; i <= n; ++i)
        {
            if (napok[i].sorszam != 0) backtrack(i, ossz);
        }
    }
    check(ossz);
    if (!sol.empty()) sol.pop_back();
}

int main()
{
    cin >> n >> m;
    napok.resize(n + 1);

    int a;
    adat b;
    for (int i = 1; i <= m; ++i)
    {
        cin >> a >> b.penz;
        b.sorszam = i;
        if(napok[a].penz <= b.penz) napok[a] = b;
        if (a > maxi) maxi = a;
    }

    n = maxi;
    napok.resize(n + 1);
    maxi = 0;

    for (int i = 1; i <= n; ++i) if (napok[i].sorszam != 0) backtrack(i, 0);

    cout << maxi << " " << sol2.size() << endl;
    for (auto& e : sol2)
    {
        cout << e.sorszam << " ";
    }
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Time limit exceeded676ms564 KiB
subtask210/10
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Accepted2ms316 KiB
6Accepted2ms316 KiB
7Accepted1ms316 KiB
subtask310/10
8Accepted1ms316 KiB
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
subtask410/10
13Accepted1ms316 KiB
14Accepted1ms316 KiB
15Accepted2ms316 KiB
16Accepted2ms316 KiB
17Accepted1ms316 KiB
18Accepted1ms512 KiB
19Accepted1ms316 KiB
20Accepted1ms316 KiB
21Accepted1ms316 KiB
22Accepted1ms316 KiB
subtask510/10
23Accepted1ms316 KiB
24Accepted1ms316 KiB
25Accepted1ms316 KiB
26Accepted1ms316 KiB
27Accepted1ms316 KiB
28Accepted1ms316 KiB
29Accepted2ms316 KiB
30Accepted1ms316 KiB
31Accepted2ms500 KiB
32Accepted2ms316 KiB
subtask60/10
33Accepted1ms316 KiB
34Accepted1ms316 KiB
35Accepted2ms316 KiB
36Accepted2ms316 KiB
37Accepted1ms316 KiB
38Accepted1ms316 KiB
39Accepted1ms316 KiB
40Accepted1ms316 KiB
41Accepted1ms316 KiB
42Accepted1ms316 KiB
43Accepted1ms512 KiB
44Accepted1ms316 KiB
45Accepted1ms316 KiB
46Accepted1ms316 KiB
47Accepted1ms316 KiB
48Accepted1ms316 KiB
49Accepted2ms316 KiB
50Accepted1ms316 KiB
51Accepted2ms500 KiB
52Accepted2ms316 KiB
53Time limit exceeded679ms316 KiB
54Time limit exceeded679ms316 KiB
55Time limit exceeded679ms316 KiB
56Time limit exceeded680ms316 KiB
57Time limit exceeded680ms316 KiB
subtask70/10
58Accepted1ms316 KiB
59Accepted1ms316 KiB
60Accepted2ms316 KiB
61Accepted2ms316 KiB
62Accepted1ms316 KiB
63Accepted1ms316 KiB
64Accepted1ms316 KiB
65Accepted1ms316 KiB
66Accepted1ms316 KiB
67Accepted1ms316 KiB
68Accepted1ms512 KiB
69Accepted1ms316 KiB
70Accepted1ms316 KiB
71Accepted1ms316 KiB
72Accepted1ms316 KiB
73Accepted1ms316 KiB
74Accepted2ms316 KiB
75Accepted1ms316 KiB
76Accepted2ms500 KiB
77Accepted2ms316 KiB
78Time limit exceeded679ms316 KiB
79Time limit exceeded679ms316 KiB
80Time limit exceeded679ms316 KiB
81Time limit exceeded680ms316 KiB
82Time limit exceeded680ms316 KiB
83Time limit exceeded679ms2152 KiB
84Time limit exceeded679ms1948 KiB
85Time limit exceeded677ms2160 KiB
86Time limit exceeded679ms1968 KiB
87Time limit exceeded688ms1968 KiB
subtask80/20
88Accepted1ms316 KiB
89Accepted1ms316 KiB
90Accepted2ms316 KiB
91Accepted2ms316 KiB
92Accepted1ms316 KiB
93Accepted1ms316 KiB
94Accepted1ms316 KiB
95Accepted1ms316 KiB
96Accepted1ms316 KiB
97Accepted1ms316 KiB
98Accepted1ms512 KiB
99Accepted1ms316 KiB
100Accepted1ms316 KiB
101Accepted1ms316 KiB
102Accepted1ms316 KiB
103Accepted1ms316 KiB
104Accepted2ms316 KiB
105Accepted1ms316 KiB
106Accepted2ms500 KiB
107Accepted2ms316 KiB
108Time limit exceeded679ms316 KiB
109Time limit exceeded679ms316 KiB
110Time limit exceeded679ms316 KiB
111Time limit exceeded680ms316 KiB
112Time limit exceeded680ms316 KiB
113Time limit exceeded679ms2152 KiB
114Time limit exceeded679ms1948 KiB
115Time limit exceeded677ms2160 KiB
116Time limit exceeded679ms1968 KiB
117Time limit exceeded688ms1968 KiB
118Time limit exceeded680ms3500 KiB
119Time limit exceeded679ms3520 KiB
120Time limit exceeded679ms3500 KiB
121Time limit exceeded680ms3684 KiB
122Time limit exceeded676ms3556 KiB
123Time limit exceeded676ms3500 KiB
124Time limit exceeded676ms3632 KiB
125Time limit exceeded676ms3500 KiB
126Time limit exceeded685ms3644 KiB
127Time limit exceeded685ms3628 KiB