Submission #36821253
Source Code Expand
#include<bits/stdc++.h> #ifdef xay5421 #define D(...) fprintf(stderr,__VA_ARGS__) #define DD(...) D(#__VA_ARGS__ "="),debug_helper::debug(__VA_ARGS__),D("\n") #include"/home/xay5421/debug.hpp" #else #define D(...) ((void)0) #define DD(...) ((void)0) #endif #define pb push_back #define eb emplace_back #define SZ(x) ((int)(x).size()) #define each(x,v) for(auto&x:v) #define rep(i,a,b) for(int i=(a);i<=(b);++i) #define per(i,a,b) for(int i=(a);i>=(b);--i) template<class T>void rd(T&x){int f=0,c;while(!isdigit(c=getchar()))f^=!(c^45);x=(c&15);while(isdigit(c=getchar()))x=x*10+(c&15);if(f)x=-x;} template<class T>void pt(T x,int c=-1){if(x<0)putchar('-'),x=-x;if(x>9)pt(x/10);putchar(x%10+48);if(c!=-1)putchar(c);} using namespace std; using LL=long long; using ULL=unsigned long long; const int P=200003; int ad(int k1,int k2){return k1+k2>=P?k1+k2-P:k1+k2;} int su(int k1,int k2){return k1-k2<0?k1-k2+P:k1-k2;} int mu(int k1,int k2){return 1ULL*k1*k2%P;} void uad(int&k1,int k2){(k1+=k2)>=P&&(k1-=P);} void usu(int&k1,int k2){(k1-=k2)<0&&(k1+=P);} template<class... T>int ad(int k1,T... k2){return ad(k1,ad(k2...));} template<class... T>int su(int k1,T... k2){return su(k1,ad(k2...));} template<class... T>int mu(int k1,T... k2){return mu(k1,mu(k2...));} template<class... T>void uad(int&k1,T... k2){return uad(k1,ad(k2...));} template<class... T>void usu(int&k1,T... k2){return usu(k1,ad(k2...));} int po(int k1,int k2){ int k3=1; for(;k2;k2>>=1,k1=mu(k1,k1))if(k2&1)k3=mu(k3,k1); return k3; } LL n,m; int fac[P],ifac[P]; int C(LL n,LL m){ if(m<0||n<m)return 0; if(n<P&&m<P){ return mu(fac[n],ifac[m],ifac[n-m]); }else{ return mu(C(n%P,m%P),C(n/P,m/P)); } } int main(){ fac[0]=1; rep(i,1,P-1)fac[i]=mu(fac[i-1],i); ifac[P-1]=po(fac[P-1],P-2); per(i,P-1,1)ifac[i-1]=mu(ifac[i],i); rd(n),rd(m); m-=n; auto Get=[&](LL k){ // 1/(1-x)^2k return C(n*2+k-1,k); }; int ans=0; uad(ans,Get(m)); for(int i=1;;++i){ LL t=1LL*i*(i*3-1)/2; if(t<=m){ uad(ans,mu(i&1?P-1:1,Get(m-t))); }else break; } for(int i=1;;++i){ LL t=1LL*i*(i*3+1)/2; if(t<=m){ uad(ans,mu(i&1?P-1:1,Get(m-t))); }else break; } printf("%d\n",ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | Ex - Sum of Prod of Min |
User | xay5421 |
Language | C++ (GCC 9.2.1) |
Score | 600 |
Code Size | 2237 Byte |
Status | AC |
Exec Time | 78 ms |
Memory | 5296 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 02_small_00.txt, 02_small_01.txt, 02_small_02.txt, 02_small_03.txt, 02_small_04.txt, 02_small_05.txt, 02_small_06.txt, 02_small_07.txt, 02_small_08.txt, 02_small_09.txt, 03_medium_00.txt, 03_medium_01.txt, 03_medium_02.txt, 03_medium_03.txt, 03_medium_04.txt, 03_medium_05.txt, 03_medium_06.txt, 03_medium_07.txt, 03_medium_08.txt, 03_medium_09.txt, 04_large_00.txt, 04_large_01.txt, 04_large_02.txt, 04_large_03.txt, 04_large_04.txt, 04_large_05.txt, 04_large_06.txt, 04_large_07.txt, 04_large_08.txt, 04_large_09.txt, 05_n_eq_m_00.txt, 05_n_eq_m_01.txt, 05_n_eq_m_02.txt, 05_n_eq_m_03.txt, 05_n_eq_m_04.txt, 05_n_eq_m_05.txt, 05_n_eq_m_06.txt, 05_n_eq_m_07.txt, 05_n_eq_m_08.txt, 05_n_eq_m_09.txt, 06_2n_eq_m_00.txt, 06_2n_eq_m_01.txt, 06_2n_eq_m_02.txt, 06_2n_eq_m_03.txt, 06_2n_eq_m_04.txt, 06_2n_eq_m_05.txt, 06_2n_eq_m_06.txt, 06_2n_eq_m_07.txt, 06_2n_eq_m_08.txt, 06_2n_eq_m_09.txt, 07_max_00.txt, 07_max_01.txt, 07_max_02.txt, 07_max_03.txt, 07_max_04.txt, 07_max_05.txt, 07_max_06.txt, 07_max_07.txt, 07_max_08.txt, 07_max_09.txt, 08_min_00.txt, 08_min_01.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 10 ms | 5116 KiB |
00_sample_01.txt | AC | 9 ms | 5124 KiB |
00_sample_02.txt | AC | 52 ms | 5120 KiB |
01_random_00.txt | AC | 31 ms | 4984 KiB |
01_random_01.txt | AC | 23 ms | 5184 KiB |
01_random_02.txt | AC | 48 ms | 5072 KiB |
01_random_03.txt | AC | 18 ms | 5224 KiB |
01_random_04.txt | AC | 44 ms | 5068 KiB |
01_random_05.txt | AC | 32 ms | 5148 KiB |
01_random_06.txt | AC | 49 ms | 5148 KiB |
01_random_07.txt | AC | 12 ms | 5292 KiB |
01_random_08.txt | AC | 26 ms | 5120 KiB |
01_random_09.txt | AC | 23 ms | 5116 KiB |
02_small_00.txt | AC | 6 ms | 5088 KiB |
02_small_01.txt | AC | 6 ms | 5176 KiB |
02_small_02.txt | AC | 10 ms | 5184 KiB |
02_small_03.txt | AC | 5 ms | 5112 KiB |
02_small_04.txt | AC | 6 ms | 5184 KiB |
02_small_05.txt | AC | 9 ms | 5036 KiB |
02_small_06.txt | AC | 5 ms | 5084 KiB |
02_small_07.txt | AC | 4 ms | 5296 KiB |
02_small_08.txt | AC | 5 ms | 5068 KiB |
02_small_09.txt | AC | 4 ms | 5084 KiB |
03_medium_00.txt | AC | 6 ms | 5288 KiB |
03_medium_01.txt | AC | 5 ms | 5124 KiB |
03_medium_02.txt | AC | 6 ms | 5148 KiB |
03_medium_03.txt | AC | 6 ms | 5116 KiB |
03_medium_04.txt | AC | 6 ms | 5036 KiB |
03_medium_05.txt | AC | 12 ms | 5188 KiB |
03_medium_06.txt | AC | 6 ms | 5072 KiB |
03_medium_07.txt | AC | 7 ms | 5088 KiB |
03_medium_08.txt | AC | 7 ms | 5072 KiB |
03_medium_09.txt | AC | 5 ms | 5084 KiB |
04_large_00.txt | AC | 50 ms | 5084 KiB |
04_large_01.txt | AC | 43 ms | 5124 KiB |
04_large_02.txt | AC | 33 ms | 5148 KiB |
04_large_03.txt | AC | 41 ms | 5040 KiB |
04_large_04.txt | AC | 28 ms | 5224 KiB |
04_large_05.txt | AC | 48 ms | 5204 KiB |
04_large_06.txt | AC | 52 ms | 5292 KiB |
04_large_07.txt | AC | 39 ms | 5292 KiB |
04_large_08.txt | AC | 17 ms | 5224 KiB |
04_large_09.txt | AC | 78 ms | 4984 KiB |
05_n_eq_m_00.txt | AC | 5 ms | 5088 KiB |
05_n_eq_m_01.txt | AC | 5 ms | 5116 KiB |
05_n_eq_m_02.txt | AC | 7 ms | 5172 KiB |
05_n_eq_m_03.txt | AC | 5 ms | 5088 KiB |
05_n_eq_m_04.txt | AC | 5 ms | 5084 KiB |
05_n_eq_m_05.txt | AC | 6 ms | 5180 KiB |
05_n_eq_m_06.txt | AC | 10 ms | 5072 KiB |
05_n_eq_m_07.txt | AC | 8 ms | 5172 KiB |
05_n_eq_m_08.txt | AC | 6 ms | 5224 KiB |
05_n_eq_m_09.txt | AC | 6 ms | 5036 KiB |
06_2n_eq_m_00.txt | AC | 57 ms | 5088 KiB |
06_2n_eq_m_01.txt | AC | 51 ms | 5176 KiB |
06_2n_eq_m_02.txt | AC | 43 ms | 5136 KiB |
06_2n_eq_m_03.txt | AC | 26 ms | 5124 KiB |
06_2n_eq_m_04.txt | AC | 36 ms | 5184 KiB |
06_2n_eq_m_05.txt | AC | 17 ms | 5288 KiB |
06_2n_eq_m_06.txt | AC | 40 ms | 5088 KiB |
06_2n_eq_m_07.txt | AC | 34 ms | 5276 KiB |
06_2n_eq_m_08.txt | AC | 50 ms | 5088 KiB |
06_2n_eq_m_09.txt | AC | 34 ms | 5224 KiB |
07_max_00.txt | AC | 62 ms | 5272 KiB |
07_max_01.txt | AC | 63 ms | 5040 KiB |
07_max_02.txt | AC | 61 ms | 5220 KiB |
07_max_03.txt | AC | 53 ms | 5084 KiB |
07_max_04.txt | AC | 69 ms | 5224 KiB |
07_max_05.txt | AC | 53 ms | 5124 KiB |
07_max_06.txt | AC | 49 ms | 5292 KiB |
07_max_07.txt | AC | 39 ms | 4988 KiB |
07_max_08.txt | AC | 62 ms | 5088 KiB |
07_max_09.txt | AC | 68 ms | 5272 KiB |
08_min_00.txt | AC | 8 ms | 5124 KiB |
08_min_01.txt | AC | 5 ms | 5124 KiB |