Submission #40528631
Source Code Expand
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const ll MAXN=1010;
ll n,m,q,a[MAXN],b[MAXN],lca;
ll calc(ll x,int mode=0){
ll L=1,R=n,t=0,lt=0,rt=0;
while(1){
ll M=(L*a[t%m] + R*b[t%m]) / (a[t%m] + b[t%m]);
if(M==x)break;
if(M>x)R=M-1,rt+=(t>=lca);else L=M+1,lt+=(t>=lca);
t++;
}
return (mode==0) * t + (mode==1) * lt + (mode==2) * rt;
}
ll calc2(ll x,ll y){
ll L=1,R=n,t=0;
while(1){
ll M=(L*a[t%m] + R*b[t%m]) / (a[t%m] + b[t%m]);
if(M==x || M==y)break;
if((M>x) != (M>y))break;
t++;
if(M>x)R=M-1;else L=M+1;
}
return t;
}
void solve(ll L,ll R){
lca=calc2(L,R);
ll val=calc(L) + calc(R) - 2*lca;
ll ans=2*(R-L+calc(L,1)+calc(R,2));
ans-=val;
cout<<ans<<"\n";
}
int main(){
ios::sync_with_stdio(false);
cin>>n>>m;
rep(i,0,m-1)cin>>a[i]>>b[i];
cin>>q;
rep(i,1,q){
ll L,R;cin>>L>>R;
solve(L,R);
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Difference Sum Query |
| User | Crying |
| Language | C++ (GCC 9.2.1) |
| Score | 900 |
| Code Size | 1261 Byte |
| Status | AC |
| Exec Time | 102 ms |
| Memory | 3636 KB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 900 / 900 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 01_srnd_00.txt, 01_srnd_01.txt, 01_srnd_02.txt, 01_srnd_03.txt, 01_srnd_04.txt, 01_srnd_05.txt, 01_srnd_06.txt, 01_srnd_07.txt, 01_srnd_08.txt, 01_srnd_09.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 02_rnd_08.txt, 02_rnd_09.txt, 03_worst_00.txt, 03_worst_01.txt, 03_worst_02.txt, 03_worst_03.txt, 03_worst_04.txt, 03_worst_05.txt, 03_worst_06.txt, 03_worst_07.txt, 04_max_00.txt, 05_min_00.txt, 06_root_00.txt, 06_root_01.txt, 06_root_02.txt, 07_sall_00.txt, 07_sall_01.txt, 07_sall_02.txt, 07_sall_03.txt, 07_sall_04.txt, 07_sall_05.txt, 07_sall_06.txt, 07_sall_07.txt, 08_edge_00.txt, 08_edge_01.txt, 08_edge_02.txt, 08_edge_03.txt, 08_edge_04.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 7 ms | 3536 KB |
| 00_sample_01.txt | AC | 2 ms | 3628 KB |
| 01_srnd_00.txt | AC | 46 ms | 3532 KB |
| 01_srnd_01.txt | AC | 38 ms | 3608 KB |
| 01_srnd_02.txt | AC | 41 ms | 3536 KB |
| 01_srnd_03.txt | AC | 40 ms | 3484 KB |
| 01_srnd_04.txt | AC | 39 ms | 3576 KB |
| 01_srnd_05.txt | AC | 38 ms | 3524 KB |
| 01_srnd_06.txt | AC | 40 ms | 3476 KB |
| 01_srnd_07.txt | AC | 39 ms | 3560 KB |
| 01_srnd_08.txt | AC | 42 ms | 3524 KB |
| 01_srnd_09.txt | AC | 39 ms | 3516 KB |
| 02_rnd_00.txt | AC | 76 ms | 3516 KB |
| 02_rnd_01.txt | AC | 74 ms | 3520 KB |
| 02_rnd_02.txt | AC | 75 ms | 3536 KB |
| 02_rnd_03.txt | AC | 75 ms | 3540 KB |
| 02_rnd_04.txt | AC | 80 ms | 3488 KB |
| 02_rnd_05.txt | AC | 75 ms | 3536 KB |
| 02_rnd_06.txt | AC | 75 ms | 3556 KB |
| 02_rnd_07.txt | AC | 73 ms | 3576 KB |
| 02_rnd_08.txt | AC | 76 ms | 3624 KB |
| 02_rnd_09.txt | AC | 73 ms | 3624 KB |
| 03_worst_00.txt | AC | 100 ms | 3560 KB |
| 03_worst_01.txt | AC | 59 ms | 3472 KB |
| 03_worst_02.txt | AC | 55 ms | 3512 KB |
| 03_worst_03.txt | AC | 98 ms | 3536 KB |
| 03_worst_04.txt | AC | 98 ms | 3612 KB |
| 03_worst_05.txt | AC | 57 ms | 3536 KB |
| 03_worst_06.txt | AC | 58 ms | 3580 KB |
| 03_worst_07.txt | AC | 102 ms | 3580 KB |
| 04_max_00.txt | AC | 61 ms | 3520 KB |
| 05_min_00.txt | AC | 4 ms | 3592 KB |
| 06_root_00.txt | AC | 53 ms | 3540 KB |
| 06_root_01.txt | AC | 54 ms | 3560 KB |
| 06_root_02.txt | AC | 54 ms | 3636 KB |
| 07_sall_00.txt | AC | 6 ms | 3624 KB |
| 07_sall_01.txt | AC | 6 ms | 3516 KB |
| 07_sall_02.txt | AC | 2 ms | 3580 KB |
| 07_sall_03.txt | AC | 2 ms | 3520 KB |
| 07_sall_04.txt | AC | 2 ms | 3620 KB |
| 07_sall_05.txt | AC | 2 ms | 3516 KB |
| 07_sall_06.txt | AC | 29 ms | 3560 KB |
| 07_sall_07.txt | AC | 33 ms | 3604 KB |
| 08_edge_00.txt | AC | 64 ms | 3608 KB |
| 08_edge_01.txt | AC | 64 ms | 3580 KB |
| 08_edge_02.txt | AC | 63 ms | 3608 KB |
| 08_edge_03.txt | AC | 63 ms | 3536 KB |
| 08_edge_04.txt | AC | 64 ms | 3608 KB |