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 <stdio.h>
#include <string.h>
#define N	300
#define M	300
#define INF	0x3f3f3f3f
int min(int a, int b) { return a < b ? a : b; }
int max(int a, int b) { return a > b ? a : b; }
int main() {
	static int xx[N], yy[N], cc[N], dd[M], ll[N], rr[N];
	static char flip[N];
	int n, m, i, i_, a, b, tmp, upd, ans;
	scanf("%d%d", &m, &n);
	for (i = 0; i < n; i++)
		scanf("%d%d%d", &xx[i], &yy[i], &cc[i]), xx[i]--, yy[i]--;
	ans = INF;
	for (a = 0; a < m; a++) {
		for (i = 0; i < n; i++) {
			ll[i] = (xx[i] - a + m) % m, rr[i] = (yy[i] - a + m) % m;
			if (ll[i] > rr[i])
				tmp = ll[i], ll[i] = rr[i], rr[i] = tmp;
		}
		memset(flip, 0, n * sizeof *flip);
		while (1) {
			memset(dd, 0, m * sizeof *dd);
			for (i = 0; i < n; i++)
				if (!flip[i])
					dd[ll[i]]++, dd[rr[i]]--;
				else
					dd[0]++, dd[ll[i]]--, dd[rr[i]]++;
			for (b = 1; b < m; b++)
				dd[b] += dd[b - 1];
			upd = 0;
			for (b = 0; b < m; b++)
				if (dd[b] > dd[m - 1]) {
					upd = 1;
					i_ = -1;
					for (i = 0; i < n; i++)
						if (!flip[i] && ll[i] <= b && b < rr[i])
							if (i_ == -1 || rr[i_] < rr[i])
								i_ = i;
					if (i_ != -1)
						flip[i_] = 1;
					break;
				}
			if (!upd) {
				ans = min(ans, dd[m - 1]);
				break;
			}
		}
	}
	printf("%d\n", ans);
	return 0;
}
Compilation message (stderr)
arranging_tickets.c: In function 'main':
arranging_tickets.c:16:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |  scanf("%d%d", &m, &n);
      |  ^~~~~~~~~~~~~~~~~~~~~
arranging_tickets.c:18:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |   scanf("%d%d%d", &xx[i], &yy[i], &cc[i]), xx[i]--, yy[i]--;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| # | 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... |