#include #include #include #include using namespace std; #define maxn 250010 int n, m; int a[maxn], b[maxn], c[maxn], f[maxn]; vector v[maxn], vi[maxn]; int q[maxn], q0; int cost[maxn]; void df(int nod) { f[nod]=1; int fiu; for(int i=0; i250000) return 11; for(int i=1; i<=m; ++i) { scanf("%d%d%d", &a[i], &b[i], &c[i]); v[a[i]].push_back(i); vi[b[i]].push_back(i); } clock_t end = clock(); double elapsed_secs = double(end - st) / CLOCKS_PER_SEC; for(int i=1; i<=n; ++i) { if(!f[i]) df(i); } int pas=0; while(pas cost[a[q[i]]]+c[q[i]] && f[a[q[i]]]==0) df2(a[q[i]]); int sol=0; for(int i=1; i<=n; ++i) sol+=f[i]; printf("%d\n", sol); return 0; }