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.

#include<bits/stdc++.h>
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);
}