Submission #170371

#TimeUsernameProblemLanguageResultExecution timeMemory
170371mdn2002Relativnost (COCI15_relativnost)C++14
28 / 140
4038 ms36728 KiB
#include<bits/stdc++.h> using namespace std; long long mod=1e9+7; long long n,c,a[100005],b[100005],q,dp[100005][35]; long long f(int x,int cal) { if(x>=n) { if(cal>=c)return 1; else return 0; } if(dp[x][cal]!=-1)return dp[x][cal]; long long num=0; num+=a[x]*f(x+1,min(c,(long long)cal+1)); num%=10007; num+=b[x]*f(x+1,cal); num%=10007; return dp[x][cal]=num; } int main() { cin>>n>>c; for(int i=0;i<n;i++)cin>>a[i]; for(int i=0;i<n;i++)cin>>b[i]; cin>>q; for(int i=0;i<q;i++) { memset(dp,-1,sizeof dp); long long x,y,z; cin>>x>>y>>z; a[x-1]=y; b[x-1]=z; cout<<f(0,0)<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...