In this HackerEarth Minimum transactions problem solution There are n people living in a neighborhood. When in debt, neighbors borrow money from each other to clear their debts. A neighbor has already borrowed money from another neighbor for m times to clear a debt. 

All the neighbors want to clear what they owe each other. Their plan is to clear their debts in such a way that the total number of transactions is minimized because the fee per transaction is very high. For example, if the ith person pays the jth person X dollars, then the amount of this particular transaction is X. 

You are required to minimize the sum of the transaction amount.

HackerEarth Minimum transactions problem solution

HackerEarth Minimum transactions problem solution.

using namespace std;
const int N = 100005;
int n, m;
long long tot, A[N];
int main()
    scanf("%d%d", &n, &m);
    for (; m; m --)
        int v, u, w;
        scanf("%d%d%d", &v, &u, &w);
        A[v] += w; A[u] -= w;
    for (int i = 1; i <= n; i++)
        if (A[i] > 0)
            tot += A[i];
    return !printf("%lld\n", tot);