This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std ;
const int MAX = 22 ;
int arr[MAX] ;
int n , m ;
int L[MAX] , R[MAX] , C[MAX] ;
int cnt[MAX] ;
void Apply1(int l , int r , int x)
{
	for(int i = l ; i < r ; ++i)
		cnt[i] += x ;
}
void Apply2(int l , int r , int x)
{
	for(int i = 1 ; i <= n ; ++i)
	{
		if(i < l || i >= r)
			cnt[i] += x ;
		else
			cnt[i] -= x ;
	}
}
int main()
{
	ios_base::sync_with_stdio(0) ;
	cin.tie(0) ;
	cin>>n>>m ;
	for(int i = 0 ; i < m ; ++i)
	{
		cin>>L[i]>>R[i]>>C[i] ;
		if(L[i] > R[i])
			swap(L[i] , R[i]) ;
	}
	int ans = m ;
	for(int mask = 0 ; mask < (1 << m) ; ++mask)
	{
		memset(cnt , 0 , sizeof(cnt)) ;
		for(int bit = 0 ; bit < m ; ++bit)
		{
			Apply1(L[bit] , R[bit] , C[bit]) ;
			if((mask & (1 << bit)))
				Apply2(L[bit] , R[bit] , C[bit]) ;
		}
		int Max = 0 ;
		for(int i = 1 ; i <= n ; ++i)
			Max = max(Max , cnt[i]) ;
		ans = min(ans , Max) ;
	}
	return cout<<ans<<"\n" , 0 ;
}		
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |