Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///hey, yo
- #include <bits/stdc++.h>
- #define mod 1000003
- using namespace std;
- typedef long int ll;
- const ll maxi=1000000100;
- //ll mat[maxi+10][maxi+10];
- ll **mat;
- void doit(){
- mat=(ll **)malloc(maxi*sizeof(ll *));
- for(ll z=0;z<maxi;z++)
- mat[z]=(ll *)malloc(maxi*sizeof(ll *));
- }
- //ll mat[maxi][maxi];
- void compute(){
- ll i,j,k;
- for(i=0;i<maxi;i++){mat[1][i]=i;mat[i][1]=i;}
- for(i=2;i<maxi;i++){
- for(j=2;j<maxi;j++){
- mat[i][j]=(mat[i-1][j]+(mat[i][j-1])+1)%mod;
- //mat[i][j]=(1+mat[i-1][j]+mat[i][j-1]);
- }
- }
- }
- int main(){doit();
- compute();
- int t;scanf("%d",&t);
- while(t--){
- ll i,j,k,ans=0,n,l,r;
- scanf("%ld%ld%ld",&n,&l,&r);
- //for(i=0;i<10;i++){for(j=0;j<10;j++)cout<<mat[i][j]<<" ";cout<<endl<<endl;}
- //for(i=0;i<10;i++){for(j=0;j<10;j++)cout<<mat[i][j]%7<<" ";cout<<endl<<endl;}
- if(l>r){cout<<l<<r;printf("0\n");continue;}
- if(l==r){printf("%ld\n",n%mod);continue;}
- k=r-l+1;//cout<<mat[50][50]<<"hi\n";
- //if(n==1){ans+=mat[k][1];}
- //else{
- // for(i=1;i<=k;i++){
- // ans+=mat[i][n];ans=ans%mod;
- // }
- //}
- ans=(mat[k][n]);
- printf("%ld\n",ans);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement