| 20021 | 2025-12-31 09:04:38 | VargaVivien | Városnézés | cpp17 | Accepted 80/80 | 35ms | 2536 KiB |
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector <vector<int>> terkep;
int varos_lista[20001];
vector<bool> visited(200001,false);
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;
visited[varos]=true;
if(varos == n)
{
reszeredmeny[n]=latvanyossag[varos - 1];
//varos_lista[szint]=varos;
szam[n]=1;
visited[varos]=false;
return;
}
if (terkep[varos].size()==0)
{
reszeredmeny[varos]=-1;
visited[varos]=false;
return;
}
else{
for(auto x : terkep[varos])
{
if( reszeredmeny[x]< -1&& !visited[x]){
latogatas(x, latvanyossag, szint+1);
}
if(reszeredmeny[x]>maxi && !visited[x])
{
maxi=reszeredmeny[x];
if (maxi>=0){
varos_lista[varos]=x;
reszeredmeny[varos]=maxi+latvanyossag[varos - 1];
szam[varos]=szam[x]+1;
}
else
{
maxi=-1;
reszeredmeny[varos]=maxi;
}
}
}
visited[varos]=false;
}
}
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;
cout << 1 << " ";
int next=1;
for (int j=1;j<szam[1]; j++)
{
cout << varos_lista[next] << " ";
next=varos_lista[next];
}
}
else
{
cout << -1 << endl;
}
return 0;
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 1076 KiB | ||||
| subtask2 | 20/20 | ||||||
| 2 | Accepted | 2ms | 1076 KiB | ||||
| 3 | Accepted | 2ms | 1260 KiB | ||||
| 4 | Accepted | 2ms | 1272 KiB | ||||
| 5 | Accepted | 6ms | 1332 KiB | ||||
| 6 | Accepted | 4ms | 1332 KiB | ||||
| 7 | Accepted | 8ms | 1588 KiB | ||||
| 8 | Accepted | 9ms | 1600 KiB | ||||
| 9 | Accepted | 2ms | 1076 KiB | ||||
| 10 | Accepted | 14ms | 2536 KiB | ||||
| 11 | Accepted | 2ms | 1076 KiB | ||||
| 12 | Accepted | 2ms | 1076 KiB | ||||
| subtask3 | 25/25 | ||||||
| 13 | Accepted | 2ms | 1076 KiB | ||||
| 14 | Accepted | 2ms | 1076 KiB | ||||
| 15 | Accepted | 1ms | 1076 KiB | ||||
| 16 | Accepted | 2ms | 1136 KiB | ||||
| 17 | Accepted | 2ms | 1076 KiB | ||||
| 18 | Accepted | 2ms | 1076 KiB | ||||
| 19 | Accepted | 2ms | 1076 KiB | ||||
| 20 | Accepted | 2ms | 1096 KiB | ||||
| 21 | Accepted | 2ms | 1076 KiB | ||||
| 22 | Accepted | 4ms | 1076 KiB | ||||
| 23 | Accepted | 3ms | 1076 KiB | ||||
| 24 | Accepted | 4ms | 1112 KiB | ||||
| 25 | Accepted | 3ms | 1076 KiB | ||||
| 26 | Accepted | 3ms | 1232 KiB | ||||
| 27 | Accepted | 4ms | 1472 KiB | ||||
| 28 | Accepted | 26ms | 1492 KiB | ||||
| 29 | Accepted | 6ms | 1332 KiB | ||||
| 30 | Accepted | 28ms | 1688 KiB | ||||
| 31 | Accepted | 17ms | 1564 KiB | ||||
| 32 | Accepted | 35ms | 1588 KiB | ||||
| 33 | Accepted | 10ms | 1780 KiB | ||||
| subtask4 | 20/20 | ||||||
| 34 | Accepted | 2ms | 1076 KiB | ||||
| 35 | Accepted | 2ms | 1076 KiB | ||||
| 36 | Accepted | 2ms | 1076 KiB | ||||
| 37 | Accepted | 2ms | 1076 KiB | ||||
| 38 | Accepted | 2ms | 1076 KiB | ||||
| 39 | Accepted | 2ms | 1208 KiB | ||||
| 40 | Accepted | 2ms | 1124 KiB | ||||
| 41 | Accepted | 2ms | 1076 KiB | ||||
| 42 | Accepted | 2ms | 996 KiB | ||||
| 43 | Accepted | 2ms | 1076 KiB | ||||
| 44 | Accepted | 2ms | 1076 KiB | ||||
| 45 | Accepted | 1ms | 1076 KiB | ||||
| 46 | Accepted | 2ms | 1268 KiB | ||||
| 47 | Accepted | 2ms | 1076 KiB | ||||
| 48 | Accepted | 2ms | 1076 KiB | ||||
| 49 | Accepted | 2ms | 1268 KiB | ||||
| 50 | Accepted | 1ms | 1008 KiB | ||||
| 51 | Accepted | 2ms | 1268 KiB | ||||
| 52 | Accepted | 2ms | 1076 KiB | ||||
| 53 | Accepted | 2ms | 1076 KiB | ||||
| 54 | Accepted | 2ms | 1060 KiB | ||||
| 55 | Accepted | 2ms | 1076 KiB | ||||
| 56 | Accepted | 2ms | 1036 KiB | ||||
| 57 | Accepted | 1ms | 1160 KiB | ||||
| 58 | Accepted | 2ms | 1076 KiB | ||||
| 59 | Accepted | 2ms | 1160 KiB | ||||
| 60 | Accepted | 2ms | 1084 KiB | ||||
| 61 | Accepted | 2ms | 1268 KiB | ||||
| 62 | Accepted | 1ms | 1076 KiB | ||||
| 63 | Accepted | 1ms | 1056 KiB | ||||
| 64 | Accepted | 2ms | 1076 KiB | ||||
| 65 | Accepted | 2ms | 1076 KiB | ||||
| 66 | Accepted | 1ms | 1076 KiB | ||||
| subtask5 | 15/15 | ||||||
| 67 | Accepted | 2ms | 1076 KiB | ||||
| 68 | Accepted | 2ms | 1076 KiB | ||||
| 69 | Accepted | 2ms | 1260 KiB | ||||
| 70 | Accepted | 2ms | 1272 KiB | ||||
| 71 | Accepted | 6ms | 1332 KiB | ||||
| 72 | Accepted | 4ms | 1332 KiB | ||||
| 73 | Accepted | 8ms | 1588 KiB | ||||
| 74 | Accepted | 9ms | 1600 KiB | ||||
| 75 | Accepted | 2ms | 1076 KiB | ||||
| 76 | Accepted | 14ms | 2536 KiB | ||||
| 77 | Accepted | 2ms | 1076 KiB | ||||
| 78 | Accepted | 2ms | 1076 KiB | ||||
| 79 | Accepted | 2ms | 1076 KiB | ||||
| 80 | Accepted | 2ms | 1076 KiB | ||||
| 81 | Accepted | 1ms | 1076 KiB | ||||
| 82 | Accepted | 2ms | 1136 KiB | ||||
| 83 | Accepted | 2ms | 1076 KiB | ||||
| 84 | Accepted | 2ms | 1076 KiB | ||||
| 85 | Accepted | 2ms | 1076 KiB | ||||
| 86 | Accepted | 2ms | 1096 KiB | ||||
| 87 | Accepted | 2ms | 1076 KiB | ||||
| 88 | Accepted | 4ms | 1076 KiB | ||||
| 89 | Accepted | 3ms | 1076 KiB | ||||
| 90 | Accepted | 4ms | 1112 KiB | ||||
| 91 | Accepted | 3ms | 1076 KiB | ||||
| 92 | Accepted | 3ms | 1232 KiB | ||||
| 93 | Accepted | 4ms | 1472 KiB | ||||
| 94 | Accepted | 26ms | 1492 KiB | ||||
| 95 | Accepted | 6ms | 1332 KiB | ||||
| 96 | Accepted | 28ms | 1688 KiB | ||||
| 97 | Accepted | 17ms | 1564 KiB | ||||
| 98 | Accepted | 35ms | 1588 KiB | ||||
| 99 | Accepted | 10ms | 1780 KiB | ||||
| 100 | Accepted | 2ms | 1076 KiB | ||||
| 101 | Accepted | 2ms | 1076 KiB | ||||
| 102 | Accepted | 2ms | 1076 KiB | ||||
| 103 | Accepted | 2ms | 1076 KiB | ||||
| 104 | Accepted | 2ms | 1208 KiB | ||||
| 105 | Accepted | 2ms | 1124 KiB | ||||
| 106 | Accepted | 2ms | 1076 KiB | ||||
| 107 | Accepted | 2ms | 996 KiB | ||||
| 108 | Accepted | 2ms | 1076 KiB | ||||
| 109 | Accepted | 2ms | 1076 KiB | ||||
| 110 | Accepted | 1ms | 1076 KiB | ||||
| 111 | Accepted | 2ms | 1268 KiB | ||||
| 112 | Accepted | 2ms | 1076 KiB | ||||
| 113 | Accepted | 2ms | 1076 KiB | ||||
| 114 | Accepted | 2ms | 1268 KiB | ||||
| 115 | Accepted | 1ms | 1008 KiB | ||||
| 116 | Accepted | 2ms | 1268 KiB | ||||
| 117 | Accepted | 2ms | 1076 KiB | ||||
| 118 | Accepted | 2ms | 1076 KiB | ||||
| 119 | Accepted | 2ms | 1060 KiB | ||||
| 120 | Accepted | 2ms | 1076 KiB | ||||
| 121 | Accepted | 2ms | 1036 KiB | ||||
| 122 | Accepted | 1ms | 1160 KiB | ||||
| 123 | Accepted | 2ms | 1076 KiB | ||||
| 124 | Accepted | 2ms | 1160 KiB | ||||
| 125 | Accepted | 2ms | 1084 KiB | ||||
| 126 | Accepted | 2ms | 1268 KiB | ||||
| 127 | Accepted | 1ms | 1076 KiB | ||||
| 128 | Accepted | 1ms | 1056 KiB | ||||
| 129 | Accepted | 2ms | 1076 KiB | ||||
| 130 | Accepted | 2ms | 1076 KiB | ||||
| 131 | Accepted | 1ms | 1076 KiB | ||||
| 132 | Accepted | 4ms | 1260 KiB | ||||
| 133 | Accepted | 3ms | 1092 KiB | ||||
| 134 | Accepted | 4ms | 1284 KiB | ||||
| 135 | Accepted | 3ms | 1260 KiB | ||||
| 136 | Accepted | 4ms | 1244 KiB | ||||
| 137 | Accepted | 3ms | 1076 KiB | ||||
| 138 | Accepted | 4ms | 1076 KiB | ||||
| 139 | Accepted | 4ms | 1224 KiB | ||||
| 140 | Accepted | 6ms | 1500 KiB | ||||
| 141 | Accepted | 3ms | 1316 KiB | ||||
| 142 | Accepted | 9ms | 1512 KiB | ||||
| 143 | Accepted | 10ms | 1776 KiB | ||||
| 144 | Accepted | 13ms | 1732 KiB | ||||
| 145 | Accepted | 8ms | 1740 KiB | ||||
| 146 | Accepted | 21ms | 2384 KiB | ||||
| 147 | Accepted | 18ms | 2300 KiB | ||||
| 148 | Accepted | 17ms | 1844 KiB | ||||
| 149 | Accepted | 12ms | 1704 KiB | ||||