Submission #998019

#TimeUsernameProblemLanguageResultExecution timeMemory
998019GeforgsCheap flights (LMIO18_pigus_skrydziai)C++14
12 / 100
3069 ms71764 KiB
//#pragma GCC optimize("O3")
//#pragma GCC optimization("Ofast,unroll-loops")
//#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")

#include <iostream>
#include <iomanip>
#include <vector>
#include <cmath>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
#include <bitset>
#include <string>
#include <cstring>
#include <stack>
//#include <ranges>

#define ll long long
#define ld long double
#define inf (ll)(2*1e18)
#define sort(a) sort(a.begin(), a.end())
#define reverse(a) reverse(a.begin(), a.end())
#define pb push_back
#define endl "\n"
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    srand(time(nullptr));
    ll n, m, x, y, w, i, ans=0, res;
    cin>>n>>m;
    vector<map<ll, ll>> a(n);
    for(i=0;i<m;++i){
        cin>>x>>y>>w;
        --x;
        --y;
        a[x][y] = w;
        a[y][x] = w;
    }
    for(i=0;i<n;++i){
        res = 0;
        for(auto it=a[i].begin();it!=a[i].end();advance(it, 1)){
            res += it->second;
        }
        ans = max(ans, res);
        for(auto it=a[i].begin();it!=a[i].end();advance(it, 1)){
            for(auto it2=a[i].begin();it2!=a[i].end();advance(it2, 1)){
                if(a[it->first].find(it2->first) != a[it->first].end()){
                    res = it->second + it2->second + a[it->first][it2->first];
                    ans = max(ans, res);
                }
            }
        }
    }
    cout<<ans<<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...