#include <bits/stdc++.h>
#define pb push_back
#define F first
#define S second
#define all(a) a.begin(),a.end()
#define pii pair <int,int>
#define Pii pair< pii , pii >
#define int long long
using namespace std ;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
const int maxn = 6e5 + 10 , sq = 3 , maxq = 1e7 + 1 , inf = 1e18 + 10 , mod= 998244353 ,lg = 20 ;
vector <pair <pii , int> > ed ;
vector <int> vec[maxn] , k[maxn];
int pr[maxn] , n , m ;
int ch(int x , int val){
priority_queue <int> pq ;
for(int i =0 ; i < n ; i++){
pr[i] =0 ;
}
for(int i =0 ; i < ed.size() ; i++){
int a = ed[i].F.F , b = ed[i].F.S;
a = (a-x+n)%n ;
b = (b-x+n)%n;
if(b < a)swap(a , b) ;
pr[a] ++ ;
pr[b]-- ;
k[a].pb(b);
}
int ans =0 ;
for(int i =0 ; i < n ; i++){
if(i)pr[i] += pr[i-1] ;
for(int j =0 ; j < k[i].size() ; j++){
pq.push(k[i][j]) ;
}
while(pq.size() && pr[i] > val){
int v = pq.top() ; pq.pop() ;
pr[i]-=2 ;
pr[v]+=2 ;
ans++;
}
}
for(int i = 0 ; i< n ; i++){
k[i].clear() ;
}
return ans ;
}
signed main() {
ios::sync_with_stdio(0) ; cin.tie(0) ; cout.tie(0) ;
cin >> n >> m ;
for(int i =1 ; i <= m ; i++){
int a , b , c;
cin >> a >> b >> c ;
a--;
b--;
pr[a]++;
pr[b]--;
ed.pb({{a, b} , c}) ;
}
for(int i = 1; i< n ;i++){
pr[i]+= pr[i-1] ;
}
int mx= 0 ;
for(int i = 0 ; i < n ; i++){
if(pr[i] > pr[mx])mx = i ;
}
int ans =min(ch((mx+1+n)%n , 0) , ch((mx+1+n)%n , 1)+1) ;
int ans2 =min(ch((mx-1+n)%n , 0) , ch((mx-1+n)%n , 1)+1) ;
int ans3 = min(ch((mx+n)%n , 0) , ch((mx+n)%n , 1)+1) ;
int ans3 = min(ch((mx+n)%n , 0) , ch((mx+n)%n , 1)+1) ;
int ans4 = min(ch((mx+n+2)%n , 0) , ch((mx+n+2)%n , 1)+1) ;
int ans5 = min(ch((mx+n-2)%n , 0) , ch((mx+n-2)%n , 1)+1);
cout << min({ans , ans2 , ans3 , ans4} ) << "\n" ;
}
/*
*/
Compilation message
arranging_tickets.cpp: In function 'int main()':
arranging_tickets.cpp:72:7: error: redeclaration of 'long long int ans3'
72 | int ans3 = min(ch((mx+n)%n , 0) , ch((mx+n)%n , 1)+1) ;
| ^~~~
arranging_tickets.cpp:71:7: note: 'long long int ans3' previously declared here
71 | int ans3 = min(ch((mx+n)%n , 0) , ch((mx+n)%n , 1)+1) ;
| ^~~~