拓扑排序求出最早完成时间和所有任务的最早开始时间,然后反向建图,求出最晚开始时间,两遍拓扑
#define ll long long
#define vec vector<ll>
#define inf 0x3f3f3f3f
#define MAX 500005
#define P pair<ll,ll>
#define MOD 1000000007
int main() {
ll m, n, a[MAX], ind[MAX], x[MAX], y[MAX], f[MAX], g[MAX];
vec G[MAX...