为什么只给我一个黄色的编译错误,我很蒙
#include<bits/stdc++.h>
#define double long double
#define int long long
#define re register
#define in inline
#define max(a,b) ((a)>(b)?a:b)
#define min(a,b) ((a)<(b)?a:b)
#define ls x<<1
#define rs x<<1|1
using namespace std;
const int N=2e5+10;
const int M=2e6+10;
const int INF=0x3f3f3f3f3f;
const int mod=988244353;
const int Mod=10007;
const double eps=1e-5;
in int read(){
re int x=0,f=0;re char c=getchar();
while(!isdigit(c)) f|=(c=='-'),c=getchar();
while(isdigit(c)) x=(x<<3)+(x<<1)+c-'0',c=getchar();
return f?-x:x;
}
in void write(re int x){
if(x<0) putchar('-'),x=-x;
if(x>9) write(x/10);
putchar(x%10+'0');
}
int c[2001][2001]={{1},{1,1},{1,2,1}};
int x[N],y[N],f[2003][2001];
int t,k;
int mxx,mxy;
int mnx=INF,mny=INF;
signed main(){
t=read();k=read();
for(int i=1;i<=t;i++){
x[i]=read();y[i]=read();
mxx=max(mxx,x[i]);
mxy=max(mxy,y[i]);
}
for(int i=2;i<=mxx;i++){
c[i][0]=1;
for(int j=1;j<=mxy;j++){
c[i][j]=c[i-1][j-1]+c[i-1][j];
c[i][j]%=k;
if(c[i][j]==0){
f[i][j]=f[i][j-1]+1;
}
else{
f[i][j]=f[i][j-1];
}
}
}
for(int i=1;i<=t;i++){
int ans=0;
for(int j=2;j<=x[i];j++){
ans+=f[j][min(j,y[i])];
}
write(ans);putchar('\n');
}
return 0;
}