Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <algorithm>#include <iostream>#include <iomanip>#include <complex>#include <cstring>#include <cstdlib>#include <string>#include <vector>#include <cstdio>#include <cmath>#include <ctime>#include <map>#include <set>using namespace std;//#pragma comment(linker,"/STACK:102400000,102400000")int n;vector <int> e[1000001];vector <int> walk[1000001];vector <int> car[1000001];int key[1000001];int sumKey[1000001];long long dp[1000001][2][2];long long dp2[1000001][2];long long dp3[1000001];struct edge{int to;int walk, car;edge *next;