This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <list>
#include <vector>
#include <algorithm>
#include <iterator>
#include <cmath>
using namespace std;
struct PathD{
int OtherCity;
int Price;
};
int main(){
int n, m;
cin >> n >> m;
int Sums[m] = {0};
list<PathD> PathData[n];
int 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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |