200102025-12-31 00:33:56VargaVivienVárosnézéscpp17Wrong answer 0/8032ms2596 KiB
#include <iostream>
#include <vector>
#include <string>

using namespace std;


vector <vector<int>> terkep;
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 szint)
{
   // bool vege = false;
    //vector<int> maximum;
   // vector<int> temp;
    int maxi = -2;
   // 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;
     return;
     }
     if (terkep[varos].size()==0)
     {
      reszeredmeny[varos]=-1;
      return;
     }
      else{
            for(auto x : terkep[varos])
        {

        if( reszeredmeny[x]<-1){

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

}

int main()
{
    int m;
    int x,y;
    cin >> n >> m;
    int numbers[n];
    for(int i=0; i<n; i++) cin >> numbers[i];


    terkep.resize(n+1);
    for(int i = 0; i < m; i++)
    {
        cin >> x >> y;
        terkep[x].push_back(y);

    }
    int db = 0;
latogatas(1, numbers, 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;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms1076 KiB
subtask20/20
2Accepted1ms1076 KiB
3Accepted2ms1260 KiB
4Wrong answer2ms1076 KiB
5Wrong answer6ms1212 KiB
6Wrong answer3ms1076 KiB
7Wrong answer8ms1588 KiB
8Wrong answer8ms1492 KiB
9Accepted1ms1076 KiB
10Wrong answer14ms2596 KiB
11Wrong answer2ms1080 KiB
12Wrong answer1ms968 KiB
subtask30/25
13Wrong answer2ms1076 KiB
14Accepted2ms1076 KiB
15Accepted2ms1076 KiB
16Wrong answer2ms1076 KiB
17Accepted2ms1076 KiB
18Wrong answer2ms1204 KiB
19Accepted1ms1076 KiB
20Accepted2ms1076 KiB
21Accepted2ms1076 KiB
22Wrong answer4ms1260 KiB
23Accepted3ms1080 KiB
24Wrong answer4ms1076 KiB
25Wrong answer3ms1076 KiB
26Accepted3ms1172 KiB
27Accepted4ms1076 KiB
28Wrong answer26ms1460 KiB
29Wrong answer6ms1140 KiB
30Wrong answer27ms1572 KiB
31Wrong answer14ms1504 KiB
32Accepted32ms1588 KiB
33Accepted9ms1532 KiB
subtask40/20
34Accepted2ms1076 KiB
35Accepted2ms1076 KiB
36Accepted2ms1272 KiB
37Accepted2ms1268 KiB
38Wrong answer2ms1076 KiB
39Accepted2ms1076 KiB
40Wrong answer2ms1076 KiB
41Wrong answer1ms1076 KiB
42Accepted2ms1260 KiB
43Accepted1ms1076 KiB
44Wrong answer2ms1076 KiB
45Wrong answer2ms1076 KiB
46Wrong answer2ms1076 KiB
47Wrong answer2ms1076 KiB
48Accepted2ms1124 KiB
49Wrong answer2ms1076 KiB
50Accepted1ms1076 KiB
51Wrong answer2ms1076 KiB
52Accepted2ms1076 KiB
53Wrong answer1ms1076 KiB
54Accepted2ms1076 KiB
55Accepted2ms1080 KiB
56Wrong answer2ms1076 KiB
57Wrong answer2ms1076 KiB
58Wrong answer2ms1076 KiB
59Wrong answer2ms1084 KiB
60Accepted2ms1080 KiB
61Accepted1ms1076 KiB
62Wrong answer1ms1076 KiB
63Wrong answer2ms1084 KiB
64Accepted2ms1076 KiB
65Accepted2ms1076 KiB
66Wrong answer1ms1076 KiB
subtask50/15
67Accepted2ms1076 KiB
68Accepted1ms1076 KiB
69Accepted2ms1260 KiB
70Wrong answer2ms1076 KiB
71Wrong answer6ms1212 KiB
72Wrong answer3ms1076 KiB
73Wrong answer8ms1588 KiB
74Wrong answer8ms1492 KiB
75Accepted1ms1076 KiB
76Wrong answer14ms2596 KiB
77Wrong answer2ms1080 KiB
78Wrong answer1ms968 KiB
79Wrong answer2ms1076 KiB
80Accepted2ms1076 KiB
81Accepted2ms1076 KiB
82Wrong answer2ms1076 KiB
83Accepted2ms1076 KiB
84Wrong answer2ms1204 KiB
85Accepted1ms1076 KiB
86Accepted2ms1076 KiB
87Accepted2ms1076 KiB
88Wrong answer4ms1260 KiB
89Accepted3ms1080 KiB
90Wrong answer4ms1076 KiB
91Wrong answer3ms1076 KiB
92Accepted3ms1172 KiB
93Accepted4ms1076 KiB
94Wrong answer26ms1460 KiB
95Wrong answer6ms1140 KiB
96Wrong answer27ms1572 KiB
97Wrong answer14ms1504 KiB
98Accepted32ms1588 KiB
99Accepted9ms1532 KiB
100Accepted2ms1076 KiB
101Accepted2ms1272 KiB
102Accepted2ms1268 KiB
103Wrong answer2ms1076 KiB
104Accepted2ms1076 KiB
105Wrong answer2ms1076 KiB
106Wrong answer1ms1076 KiB
107Accepted2ms1260 KiB
108Accepted1ms1076 KiB
109Wrong answer2ms1076 KiB
110Wrong answer2ms1076 KiB
111Wrong answer2ms1076 KiB
112Wrong answer2ms1076 KiB
113Accepted2ms1124 KiB
114Wrong answer2ms1076 KiB
115Accepted1ms1076 KiB
116Wrong answer2ms1076 KiB
117Accepted2ms1076 KiB
118Wrong answer1ms1076 KiB
119Accepted2ms1076 KiB
120Accepted2ms1080 KiB
121Wrong answer2ms1076 KiB
122Wrong answer2ms1076 KiB
123Wrong answer2ms1076 KiB
124Wrong answer2ms1084 KiB
125Accepted2ms1080 KiB
126Accepted1ms1076 KiB
127Wrong answer1ms1076 KiB
128Wrong answer2ms1084 KiB
129Accepted2ms1076 KiB
130Accepted2ms1076 KiB
131Wrong answer1ms1076 KiB
132Wrong answer4ms1076 KiB
133Accepted2ms1076 KiB
134Wrong answer4ms1076 KiB
135Wrong answer3ms1200 KiB
136Wrong answer3ms1264 KiB
137Wrong answer3ms1076 KiB
138Wrong answer4ms1076 KiB
139Accepted4ms1192 KiB
140Wrong answer6ms1392 KiB
141Wrong answer3ms1332 KiB
142Wrong answer8ms1488 KiB
143Wrong answer9ms1640 KiB
144Wrong answer12ms1784 KiB
145Wrong answer8ms1588 KiB
146Wrong answer20ms2260 KiB
147Wrong answer17ms2088 KiB
148Wrong answer16ms1736 KiB
149Wrong answer10ms1592 KiB