Submission #448781

#TimeUsernameProblemLanguageResultExecution timeMemory
448781IvnFRelativnost (COCI15_relativnost)C++14
0 / 140
4072 ms19868 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define ull unsigned long long
#define fi first
#define se second
#define ld long double
const ll mod=10007;

int main(){
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	ll n, c, q;
	cin >> n >> c;
	ll dp[n+5][c+5], a[n+5], b[n+5];
	for(int i=1;i<=n;++i){
		cin >> a[i];
	}
	for(int i=1;i<=n;++i){
		cin >> b[i];
	}
	cin >> q;
	while(q--){
		ll idx, ai, bi; cin >> idx >> ai >> bi;
		a[idx]=ai;
		b[idx]=bi;
		memset(dp, 0, sizeof dp);
		dp[0][0]=1;
		for(int i=1;i<=n;++i){
			dp[i][0]=b[i];
		}
		for(int i=1;i<=n;++i){
			for(int j=1;j<=n;++j){
				dp[i][j]=(b[i]*dp[i-1][j]+a[i]*dp[i-1][j-1])%mod;
			}
		}
		ll ans=0;
		for(int j=c;j<=n;++j){
			ans+=dp[n][j];
			ans%=mod;
		}
		cout << ans << '\n';
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...