200072025-12-31 00:00:03VargaVivienVárosnézéscpp17Időlimit túllépés 0/801.101s262144 KiB
#include <iostream>
#include <vector>
#include <string>

using namespace std;

struct ut
{
    int bol, ba;
};
int varos_lista[20001];
vector<int> reszeredmeny(200001,-100);
int szam[20001];
int n;
int dist =-1;
int hossz=0;
void latogatas(int varos, int *latvanyossag, int db, vector<vector<int>> terkep, int szint)
{
   // bool vege = false;
    //vector<int> maximum;
   // vector<int> temp;
    int maxi = -1;
   // int ch_v=0;
   // cout << "szam" << &szam << endl;
   // cout << "temp" << &temp << endl;
    if(varos == n)
    {
     reszeredmeny[n]=latvanyossag[varos - 1];
     varos_lista[szint]=varos;
     szam[n]=szint;
     }
     else if (terkep[varos].size()==0)
     {
      reszeredmeny[varos]=-1;
     }
      else{
            for(int i = 0; i < terkep[varos].size(); i++)
        {

        if( reszeredmeny[terkep[varos][i]]<-1){

        latogatas(terkep[varos][i], latvanyossag, db + latvanyossag[varos - 1], terkep, szint+1);
           }
        if(reszeredmeny[terkep[varos][i]]>maxi)
        {
            maxi=reszeredmeny[terkep[varos][i]];
            varos_lista[szint]=varos;
            reszeredmeny[varos]=maxi+latvanyossag[varos - 1];
            szam[varos]=szam[terkep[varos][i]];
        }
        }
        }

}

int main()
{
    int m;
    ut x;
    cin >> x.bol >> x.ba;
    n = x.bol;
    m = x.ba;
    int numbers[n];
    for(int i=0; i<n; i++) cin >> numbers[i];

    vector <vector<int>> terkep(n+1);

    for(int i = 0; i < m; i++)
    {
        cin >> x.bol >> x.ba;
        terkep[x.bol].push_back(x.ba);

    }
    int db = 0;
latogatas(1, numbers, db, terkep, 0);
    if (reszeredmeny[1]>=0)
    {
        cout << reszeredmeny[1] << endl;
        //cout << szam.size()<< endl;
        for (int j=0;j<=szam[1]; j++)
        {
            cout << varos_lista[j] << " ";
        }
    }
    else
    {
        cout << -1 << endl;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms1076 KiB
subtask20/20
2Elfogadva2ms1076 KiB
3Elfogadva2ms1076 KiB
4Elfogadva2ms1076 KiB
5Időlimit túllépés1.09s7096 KiB
6Elfogadva188ms3636 KiB
7Időlimit túllépés1.101s38484 KiB
8Időlimit túllépés1.101s37796 KiB
9Elfogadva3ms1332 KiB
10Futási hiba400ms262144 KiB
11Elfogadva2ms1268 KiB
12Elfogadva2ms1076 KiB
subtask30/25
13Hibás válasz2ms1076 KiB
14Elfogadva2ms1076 KiB
15Elfogadva2ms1076 KiB
16Hibás válasz2ms1076 KiB
17Elfogadva1ms1076 KiB
18Hibás válasz2ms1076 KiB
19Elfogadva2ms1076 KiB
20Elfogadva2ms1204 KiB
21Elfogadva1ms1076 KiB
22Hibás válasz9ms1332 KiB
23Elfogadva3ms1284 KiB
24Hibás válasz17ms1744 KiB
25Hibás válasz8ms1392 KiB
26Elfogadva3ms1076 KiB
27Elfogadva4ms1332 KiB
28Hibás válasz787ms7040 KiB
29Hibás válasz45ms2520 KiB
30Hibás válasz666ms7440 KiB
31Elfogadva19ms2172 KiB
32Elfogadva35ms2192 KiB
33Elfogadva12ms2100 KiB
subtask40/20
34Elfogadva1ms1076 KiB
35Elfogadva2ms1076 KiB
36Elfogadva2ms1076 KiB
37Elfogadva2ms1272 KiB
38Hibás válasz2ms1076 KiB
39Elfogadva2ms1076 KiB
40Elfogadva4ms1076 KiB
41Elfogadva1ms1080 KiB
42Elfogadva2ms1076 KiB
43Elfogadva2ms1076 KiB
44Hibás válasz2ms1268 KiB
45Elfogadva2ms1260 KiB
46Hibás válasz3ms1208 KiB
47Hibás válasz3ms1084 KiB
48Elfogadva2ms1076 KiB
49Elfogadva3ms1076 KiB
50Elfogadva2ms984 KiB
51Elfogadva1ms1080 KiB
52Elfogadva2ms1084 KiB
53Elfogadva2ms1076 KiB
54Elfogadva1ms1076 KiB
55Elfogadva2ms1176 KiB
56Hibás válasz2ms1076 KiB
57Hibás válasz2ms1076 KiB
58Hibás válasz2ms1076 KiB
59Hibás válasz1ms1076 KiB
60Elfogadva1ms1076 KiB
61Elfogadva2ms1076 KiB
62Hibás válasz2ms1076 KiB
63Hibás válasz1ms1076 KiB
64Elfogadva2ms1076 KiB
65Elfogadva2ms1060 KiB
66Hibás válasz2ms1076 KiB
subtask50/15
67Elfogadva1ms1076 KiB
68Elfogadva2ms1076 KiB
69Elfogadva2ms1076 KiB
70Elfogadva2ms1076 KiB
71Időlimit túllépés1.09s7096 KiB
72Elfogadva188ms3636 KiB
73Időlimit túllépés1.101s38484 KiB
74Időlimit túllépés1.101s37796 KiB
75Elfogadva3ms1332 KiB
76Futási hiba400ms262144 KiB
77Elfogadva2ms1268 KiB
78Elfogadva2ms1076 KiB
79Hibás válasz2ms1076 KiB
80Elfogadva2ms1076 KiB
81Elfogadva2ms1076 KiB
82Hibás válasz2ms1076 KiB
83Elfogadva1ms1076 KiB
84Hibás válasz2ms1076 KiB
85Elfogadva2ms1076 KiB
86Elfogadva2ms1204 KiB
87Elfogadva1ms1076 KiB
88Hibás válasz9ms1332 KiB
89Elfogadva3ms1284 KiB
90Hibás válasz17ms1744 KiB
91Hibás válasz8ms1392 KiB
92Elfogadva3ms1076 KiB
93Elfogadva4ms1332 KiB
94Hibás válasz787ms7040 KiB
95Hibás válasz45ms2520 KiB
96Hibás válasz666ms7440 KiB
97Elfogadva19ms2172 KiB
98Elfogadva35ms2192 KiB
99Elfogadva12ms2100 KiB
100Elfogadva2ms1076 KiB
101Elfogadva2ms1076 KiB
102Elfogadva2ms1272 KiB
103Hibás válasz2ms1076 KiB
104Elfogadva2ms1076 KiB
105Elfogadva4ms1076 KiB
106Elfogadva1ms1080 KiB
107Elfogadva2ms1076 KiB
108Elfogadva2ms1076 KiB
109Hibás válasz2ms1268 KiB
110Elfogadva2ms1260 KiB
111Hibás válasz3ms1208 KiB
112Hibás válasz3ms1084 KiB
113Elfogadva2ms1076 KiB
114Elfogadva3ms1076 KiB
115Elfogadva2ms984 KiB
116Elfogadva1ms1080 KiB
117Elfogadva2ms1084 KiB
118Elfogadva2ms1076 KiB
119Elfogadva1ms1076 KiB
120Elfogadva2ms1176 KiB
121Hibás válasz2ms1076 KiB
122Hibás válasz2ms1076 KiB
123Hibás válasz2ms1076 KiB
124Hibás válasz1ms1076 KiB
125Elfogadva1ms1076 KiB
126Elfogadva2ms1076 KiB
127Hibás válasz2ms1076 KiB
128Hibás válasz1ms1076 KiB
129Elfogadva2ms1076 KiB
130Elfogadva2ms1060 KiB
131Hibás válasz2ms1076 KiB
132Időlimit túllépés1.1s1748 KiB
133Elfogadva2ms1212 KiB
134Időlimit túllépés1.098s1988 KiB
135Időlimit túllépés1.1s1588 KiB
136Időlimit túllépés1.1s1588 KiB
137Időlimit túllépés1.024s1584 KiB
138Időlimit túllépés1.083s1588 KiB
139Elfogadva3ms1076 KiB
140Időlimit túllépés1.098s7208 KiB
141Hibás válasz564ms16052 KiB
142Időlimit túllépés1.082s15928 KiB
143Időlimit túllépés1.078s54204 KiB
144Időlimit túllépés1.088s46032 KiB
145Időlimit túllépés1.098s166768 KiB
146Időlimit túllépés1.095s84352 KiB
147Futási hiba515ms262144 KiB
148Időlimit túllépés1.085s180076 KiB
149Futási hiba381ms262144 KiB