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

using namespace std;


vector <vector<int>> terkep;
int varos_lista[20001];
vector<int> visited(200001,-100);
vector<int> reszeredmeny(200001,-100);
int szam[20001];
int n;
int dist =-1;
int hossz=0;
void latogatas(int varos, int *latvanyossag, int szint,vector<int> visited)
{
   // bool vege = false;
    //vector<int> maximum;
   // vector<int> temp;
    int maxi = -2;
   // int ch_v=0;
   // cout << "szam" << &szam << endl;
   // cout << "temp" << &temp << endl;
   visited[varos]=0;
    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,visited);
           }
        if(reszeredmeny[x]>maxi && visited[x]<0)
        {
            maxi=reszeredmeny[x];
            if (maxi>=0){
            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,visited);
    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
1Elfogadva6ms4900 KiB
subtask20/20
2Elfogadva4ms4932 KiB
3Elfogadva4ms3380 KiB
4Elfogadva4ms4916 KiB
5Időlimit túllépés1.092s23992 KiB
6Elfogadva998ms24004 KiB
7Időlimit túllépés1.103s73616 KiB
8Időlimit túllépés1.101s72840 KiB
9Elfogadva41ms42036 KiB
10Futási hiba214ms262144 KiB
11Elfogadva37ms19976 KiB
12Elfogadva14ms12176 KiB
subtask30/25
13Hibás válasz4ms4340 KiB
14Elfogadva4ms3396 KiB
15Elfogadva7ms5720 KiB
16Hibás válasz10ms5752 KiB
17Elfogadva6ms4900 KiB
18Hibás válasz14ms6656 KiB
19Elfogadva4ms3572 KiB
20Elfogadva3ms2612 KiB
21Elfogadva3ms2612 KiB
22Hibás válasz87ms10652 KiB
23Elfogadva4ms2612 KiB
24Hibás válasz97ms12984 KiB
25Hibás válasz54ms9784 KiB
26Elfogadva4ms2696 KiB
27Elfogadva6ms2612 KiB
28Hibás válasz695ms16480 KiB
29Hibás válasz112ms12068 KiB
30Hibás válasz347ms13376 KiB
31Elfogadva19ms3892 KiB
32Elfogadva37ms3304 KiB
33Elfogadva13ms3124 KiB
subtask40/20
34Elfogadva6ms5088 KiB
35Elfogadva6ms4148 KiB
36Elfogadva4ms3380 KiB
37Elfogadva6ms5216 KiB
38Hibás válasz119ms9656 KiB
39Elfogadva6ms5060 KiB
40Elfogadva740ms10556 KiB
41Elfogadva4ms3544 KiB
42Elfogadva3ms2628 KiB
43Elfogadva3ms2660 KiB
44Hibás válasz115ms9816 KiB
45Elfogadva7ms4868 KiB
46Hibás válasz165ms11216 KiB
47Hibás válasz28ms7428 KiB
48Elfogadva3ms2612 KiB
49Elfogadva56ms7272 KiB
50Elfogadva6ms5092 KiB
51Elfogadva7ms6452 KiB
52Elfogadva4ms5688 KiB
53Elfogadva10ms8232 KiB
54Elfogadva6ms5724 KiB
55Elfogadva16ms13644 KiB
56Hibás válasz12ms11300 KiB
57Hibás válasz8ms6692 KiB
58Hibás válasz21ms23776 KiB
59Hibás válasz24ms12876 KiB
60Elfogadva6ms4916 KiB
61Elfogadva8ms6660 KiB
62Hibás válasz21ms13580 KiB
63Hibás válasz12ms9724 KiB
64Elfogadva17ms16696 KiB
65Elfogadva8ms9256 KiB
66Hibás válasz25ms19108 KiB
subtask50/15
67Elfogadva6ms5088 KiB
68Elfogadva4ms4932 KiB
69Elfogadva4ms3380 KiB
70Elfogadva4ms4916 KiB
71Időlimit túllépés1.092s23992 KiB
72Elfogadva998ms24004 KiB
73Időlimit túllépés1.103s73616 KiB
74Időlimit túllépés1.101s72840 KiB
75Elfogadva41ms42036 KiB
76Futási hiba214ms262144 KiB
77Elfogadva37ms19976 KiB
78Elfogadva14ms12176 KiB
79Hibás válasz4ms4340 KiB
80Elfogadva4ms3396 KiB
81Elfogadva7ms5720 KiB
82Hibás válasz10ms5752 KiB
83Elfogadva6ms4900 KiB
84Hibás válasz14ms6656 KiB
85Elfogadva4ms3572 KiB
86Elfogadva3ms2612 KiB
87Elfogadva3ms2612 KiB
88Hibás válasz87ms10652 KiB
89Elfogadva4ms2612 KiB
90Hibás válasz97ms12984 KiB
91Hibás válasz54ms9784 KiB
92Elfogadva4ms2696 KiB
93Elfogadva6ms2612 KiB
94Hibás válasz695ms16480 KiB
95Hibás válasz112ms12068 KiB
96Hibás válasz347ms13376 KiB
97Elfogadva19ms3892 KiB
98Elfogadva37ms3304 KiB
99Elfogadva13ms3124 KiB
100Elfogadva6ms4148 KiB
101Elfogadva4ms3380 KiB
102Elfogadva6ms5216 KiB
103Hibás válasz119ms9656 KiB
104Elfogadva6ms5060 KiB
105Elfogadva740ms10556 KiB
106Elfogadva4ms3544 KiB
107Elfogadva3ms2628 KiB
108Elfogadva3ms2660 KiB
109Hibás válasz115ms9816 KiB
110Elfogadva7ms4868 KiB
111Hibás válasz165ms11216 KiB
112Hibás válasz28ms7428 KiB
113Elfogadva3ms2612 KiB
114Elfogadva56ms7272 KiB
115Elfogadva6ms5092 KiB
116Elfogadva7ms6452 KiB
117Elfogadva4ms5688 KiB
118Elfogadva10ms8232 KiB
119Elfogadva6ms5724 KiB
120Elfogadva16ms13644 KiB
121Hibás válasz12ms11300 KiB
122Hibás válasz8ms6692 KiB
123Hibás válasz21ms23776 KiB
124Hibás válasz24ms12876 KiB
125Elfogadva6ms4916 KiB
126Elfogadva8ms6660 KiB
127Hibás válasz21ms13580 KiB
128Hibás válasz12ms9724 KiB
129Elfogadva17ms16696 KiB
130Elfogadva8ms9256 KiB
131Hibás válasz25ms19108 KiB
132Időlimit túllépés1.077s16108 KiB
133Elfogadva4ms2612 KiB
134Időlimit túllépés1.077s19252 KiB
135Időlimit túllépés1.077s12404 KiB
136Időlimit túllépés1.1s9844 KiB
137Időlimit túllépés1.08s12200 KiB
138Időlimit túllépés1.078s12132 KiB
139Elfogadva4ms2612 KiB
140Időlimit túllépés1.1s24000 KiB
141Időlimit túllépés1.106s118724 KiB
142Időlimit túllépés1.082s32876 KiB
143Időlimit túllépés1.088s93956 KiB
144Időlimit túllépés1.101s79920 KiB
145Futási hiba504ms262144 KiB
146Időlimit túllépés1.09s97752 KiB
147Futási hiba846ms262144 KiB
148Futási hiba275ms262144 KiB
149Futási hiba217ms262144 KiB