Submission #516972

#TimeUsernameProblemLanguageResultExecution timeMemory
516972Tox123Cheap flights (LMIO18_pigus_skrydziai)C++17
0 / 100
11 ms17028 KiB
#include <iostream> #include <list> #include <vector> #include <algorithm> #include <iterator> #include <cmath> using namespace std; struct PathD{ int OtherCity; long long Price; }; int main(){ int n, m; cin >> n >> m; long long Sums[m] = {0}; list<PathD> PathData[n]; long long MaxSum = 0; for(int PathIndex = 0;PathIndex<m;PathIndex++){ int CityA, CityB, Price; cin >> CityA >> CityB >> Price; CityA--; CityB--; PathD CityAPathD; CityAPathD.OtherCity = CityB; CityAPathD.Price = Price; PathD CityBPathD; CityBPathD.OtherCity = CityA; CityBPathD.Price = Price; for(auto it1 = PathData[CityA].begin();it1!=PathData[CityA].end();it1++){ for(auto it2 = PathData[CityB].begin();it2!=PathData[CityB].end();it2++){ PathD PD1 = *it1; PathD PD2 = *it2; if(PD1.OtherCity==PD2.OtherCity){ MaxSum = max(MaxSum,PD1.Price+PD2.Price+Price); } } } PathData[CityA].push_front(CityAPathD); PathData[CityB].push_front(CityBPathD); Sums[CityA] += Price; MaxSum = max(MaxSum,Sums[CityA]); Sums[CityB] += Price; MaxSum = max(MaxSum,Sums[CityB]); } cout << MaxSum << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...