Niestety, nie byliśmy w stanie w pełni poprawnie wyświetlić tego pliku, ponieważ nie jest zakodowany w UTF-8. Możesz pobrać ten plik i spróbować otworzyć go samodzielnie.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct M
{
    int nr;
    int o;
    int e;
    int s;
};

int main()
{
    ios_base::sync_with_stdio(0); // wy��czenie synchronizacji wej�cia/wyj�cia
    
    // Utworzenie zmiennych
    vector<M> v;
    int n, hp;
    cin >> n;
    cin >> hp;
    for(int i = 0; i < n; i++)
    {
        M t;
        t.nr = n+1;
        int oo;
        cin >> oo;
        t.o = oo;
        int ee;
        cin >> ee;
        t.e = ee;
        t.s = t.e - t.o;
        v.push_back(t);
    }
    for(int i = 1; i <= (n-1); i++)
    {
        for(int j = 1; i <= n; j++)
        {
            if(v[i].o>v[j].o)
            {
                swap(v[i], v[i+1]);
            }
        }
    }
    vector<int> b;
    int l = 1;
    for(int i = 0; i < n; i++)
    {
        if(hp <= v[i].o)
        {
            l++;
            if(l == n)
            {
                cout << "Nie";
                return 0;
            }
        }
        l = 0;
        hp += v[i].s;
        b.push_back(i);
        if(b.size() == n)
            break;
        if(i == n -1)
            i = 0;
    } 
    cout << "TAK\n";
    for(int i = 0; i < b.size(); i++)
    {
        cout << b[i] << " ";
    }
    // Zako�czenie dzia�ania programu
    return 0;
}