subtask 2 第二个点TLE,求调。
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=4e5+25;
int n,m,T;
struct node{
int num,val;
}a[N];
int delta[N];
bool cmp(node a,node b){
return a.num<b.num;
}
int gcd(int x,int y){
return __gcd(x,y);
}
signed main(){
std::ios::sync_with_stdio(0);
cin>>T;
while(T--){
memset(a,0,sizeof(a));
memset(delta,0,sizeof(delta));
cin>>n>>m;
if(m==0){
cout<<"yes"<<"\n";
goto lop;
}
for(int i=1;i<=m;i++)
cin>>a[i].num>>a[i].val;
sort(a+1,a+1+m,cmp);
delta[1]=(a[2].val-a[1].val)/(a[2].num-a[1].num);
for(int i=1;i<=m;i++)
if((a[i].num-a[1].num)*delta[1]+a[1].val!=a[i].val){
cout<<"no"<<endl;
goto lop;
}
cout<<"yes"<<endl;
lop:;
}
}