Submission #251662

#TimeUsernameProblemLanguageResultExecution timeMemory
251662VimmerRelativnost (COCI15_relativnost)C++14
42 / 140
4096 ms21368 KiB
#include <bits/stdc++.h> //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> // //#pragma GCC optimize("unroll-loops") //#pragma GCC optimize("-O3") //#pragma GCC optimize("Ofast") //#pragma GCC optimize("fast-math") //#pragma GCC optimize("no-stack-protector") #define F first #define S second #define sz(x) int(x.size()) #define pb push_back #define pf push_front #define N 100010 #define M ll(10007) #define inf 1e9 + 1e9 using namespace std; //using namespace __gnu_pbds; typedef long double ld; typedef long long ll; typedef unsigned long long ull; typedef short int si; typedef array <int, 3> a3; typedef array <int, 4> a4; typedef pair <int, int> pt; //typedef tree <int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; ll f[N][25]; ll sm(ll x, ll y) {return (x + y) % M;} ll mlt(ll x, ll y) {return (x * y) % M;} int main() { //freopen("mining.in", "r", stdin); freopen("mining.out", "w", stdout); ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, c; cin >> n >> c; ll a[n], b[n]; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < n; i++) cin >> b[i]; int q; cin >> q; for (; q > 0; q--) { int x, l, r; cin >> x >> l >> r; x--; a[x] = l; b[x] = r; memset(f, 0, sizeof(f)); f[0][0] = 1; for (int i = 0; i < n; i++) for (int j = 0; j <= c; j++) { f[i + 1][j] = sm(f[i + 1][j], mlt(f[i][j], b[i])); int nj = min(j + 1, c); f[i + 1][nj] = sm(f[i + 1][nj], mlt(f[i][j], a[i])); } cout << f[n][c] << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...