{"height":"190","width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Flogfiles.hatenablog.com%2Fentry%2F20141005%2F1412517194\" title=\"SRM635 Div2Hard LonglongestPathTree - Logfiles\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_name":"Hatena Blog","author_name":"moistx","version":"1.0","blog_url":"https://logfiles.hatenablog.com/","title":"SRM635 Div2Hard LonglongestPathTree","categories":["SRM"],"url":"https://logfiles.hatenablog.com/entry/20141005/1412517194","image_url":null,"provider_url":"https://hatena.blog","blog_title":"Logfiles","type":"rich","author_url":"https://blog.hatena.ne.jp/moistx/","description":"#include <bits/stdc++.h> using namespace std; // rep #define REP(i,a,b) for(int i=a;i<b;i++) #define rep(i,n) REP(i,0,n) struct Edge { int to, cost; }; // typedef typedef vector<Edge> Edges; typedef long long ll; int N; Edges G[2010]; bool notuse[2010]; typedef ll Weight; typedef pair<Weight, int> R\u2026","published":"2014-10-05 22:53:14"}