Submission #1113971

#TimeUsernameProblemLanguageResultExecution timeMemory
1113971jpfr12Relativnost (COCI15_relativnost)C++17
0 / 140
4069 ms65536 KiB
#include <bits/stdc++.h> typedef long long ll; typedef unsigned int long long ull; using namespace std; ll MOD = 1e4+7; //global int N, C; vector<ll> A; vector<ll> B; vector<vector<ll>> dp; ll sol(int index, ll sum){ if(index == N) return sum >= C; if(dp[index][sum] != -1) return dp[index][sum]; dp[index][sum] = (A[index]%MOD) * sol(index+1, sum+1); dp[index][sum] %= MOD; dp[index][sum] += (B[index]%MOD) * sol(index+1, sum); return dp[index][sum]; } //classes int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); //stop cin >> N >> C; A.resize(N); B.resize(N); for(ll& i: A) cin >> i; for(ll& i: B) cin >> i; dp.resize(N, vector<ll>(N,-1)); int Q; cin >> Q; while(Q--){ int index; ll a, b; cin >> index >> a >> b; A[index-1] = a; B[index-1] = b; cout << sol(0, 0LL) << '\n'; dp.assign(N, vector<ll>(N,-1)); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...